diff --git a/go.mod b/go.mod index d4baf69f7..eeac20dee 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module Open_IM -go 1.17 +go 1.18 require ( firebase.google.com/go v3.13.0+incompatible @@ -49,7 +49,6 @@ require ( go.mongodb.org/mongo-driver v1.8.3 golang.org/x/image v0.3.0 golang.org/x/net v0.5.0 - golang.org/x/tools v0.1.12 google.golang.org/api v0.103.0 google.golang.org/grpc v1.52.0 google.golang.org/protobuf v1.28.1 @@ -157,6 +156,7 @@ require ( golang.org/x/sys v0.4.0 // indirect golang.org/x/text v0.6.0 // indirect golang.org/x/time v0.1.0 // indirect + golang.org/x/tools v0.1.12 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect diff --git a/go.sum b/go.sum index 6da44054e..fd9b01dfe 100644 --- a/go.sum +++ b/go.sum @@ -13,376 +13,37 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= -cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= -cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= -cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= -cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= cloud.google.com/go v0.105.0 h1:DNtEKRBAAzeS4KyIory52wWHuClNaXJ5x1F7xa4q+5Y= cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= -cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= -cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= -cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= -cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= -cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= -cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= -cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= -cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= -cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= -cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= -cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= -cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= -cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= -cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= -cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= -cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= -cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= -cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= -cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= -cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= -cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= -cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= -cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= -cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= -cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= -cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= -cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= -cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= -cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= -cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= -cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= -cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= -cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= -cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= -cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= -cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= -cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= -cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= -cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= -cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= -cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= -cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= -cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= -cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= -cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= -cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= -cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= -cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= -cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= -cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= -cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= -cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= -cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= -cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= -cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= -cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= -cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= -cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= -cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= -cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= -cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= -cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= -cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= -cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= -cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= -cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= -cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= -cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= -cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= -cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= -cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= cloud.google.com/go/compute v1.13.0 h1:AYrLkB8NPdDRslNp4Jxmzrhdr03fUAIDbiGFjLWowoU= cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= -cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.1 h1:efOwf5ymceDhK6PKMnnrTHP4pppY5L22mle96M1yP48= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= -cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= -cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= -cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= -cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= -cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= -cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= -cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= -cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= -cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= -cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= -cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= -cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= -cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= -cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= -cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= -cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= -cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= -cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= -cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= -cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= -cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= -cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= -cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= -cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= -cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= -cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= -cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= -cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= -cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= -cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= -cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= -cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= -cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= -cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= -cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= -cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= -cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= -cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= -cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= -cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= -cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= -cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= -cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= -cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= -cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= -cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= -cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= -cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= -cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= -cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= -cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= -cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= -cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= -cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= cloud.google.com/go/firestore v1.9.0 h1:IBlRyxgGySXu5VuW0RgGFlTtLukSnNkpDiEOMkQkmpA= cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= -cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= -cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= -cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= -cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= -cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= -cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= -cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= -cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= -cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= -cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= -cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= -cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= -cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= -cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= -cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= -cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= -cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= -cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= -cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= -cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= -cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= -cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= -cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= cloud.google.com/go/iam v0.8.0 h1:E2osAkZzxI/+8pZcxVLcDtAQx/u+hZXVryUaYQ5O0Kk= cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= -cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= -cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= -cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= -cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= -cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= -cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= -cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= -cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= -cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= -cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= -cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= -cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= -cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= -cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= -cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= -cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= -cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= -cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= -cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= -cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= -cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= -cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= -cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= -cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= -cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= -cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= -cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= -cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= -cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= -cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= -cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= -cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= -cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= -cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= -cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= -cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= -cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= -cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= -cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= -cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= -cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= -cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= -cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= -cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= -cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= -cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= -cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= -cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= -cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= -cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= -cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= -cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= -cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= -cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= -cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= -cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= -cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= -cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= -cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= -cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= -cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= -cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= -cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= -cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= -cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= -cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= -cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= -cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= -cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= -cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= -cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= -cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= -cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= -cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= -cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= -cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= -cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= -cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= -cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= -cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= -cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= -cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= -cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= -cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= -cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= -cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= -cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= -cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= -cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= -cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= -cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= -cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= -cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= -cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= -cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= -cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= -cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= -cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= -cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= -cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= -cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= -cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= -cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= -cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= -cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= -cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= -cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= -cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= -cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= -cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= -cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= -cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= -cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= -cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= -cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= -cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= -cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= -cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= -cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= -cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= -cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= -cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= -cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= -cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= -cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0 h1:YOO045NZI9RKfCj1c5A/ZtuuENUc8OAW+gHdGnDgyMQ= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= -cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= -cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= -cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= -cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= -cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= -cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= -cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= -cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= -cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= -cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= -cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= -cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= -cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= -cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= -cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= -cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= -cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= -cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= -cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= -cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= -cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= -cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= -cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= -cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= -cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= -cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= -cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= -cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= -cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= -cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= -cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= -cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= -cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= -cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= -cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= -cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= -cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= -cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= firebase.google.com/go v3.13.0+incompatible h1:3TdYC3DDi6aHn20qoRkxwGqNgdjtblwVAyRLQwGn/+4= firebase.google.com/go v3.13.0+incompatible/go.mod h1:xlah6XbEyW6tbfSklcfe5FHJIwjt8toICdV5Wh9ptHs= @@ -390,12 +51,10 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc= github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenIMSDK/getcdv3 v1.0.4 h1:wKpLcp1gbLbh+fa7b5iCL4fTBLm87hB0+p0ZQMg9tK8= github.com/OpenIMSDK/getcdv3 v1.0.4/go.mod h1:ZvsBwAjOZZr7HBF3SytJaHCltuOfBKbM1vLSCjut7kw= github.com/OpenIMSDK/open_log v1.0.0 h1:ZQ908aWgPqfHOfkQ/oFSV20AZdRwPw+sZjC/sAPd5cA= github.com/OpenIMSDK/open_log v1.0.0/go.mod h1:qWvqF4iT2qBAP1eGGbinc0aAng1Y25X8A9Si1WS3oB4= -github.com/OpenIMSDK/open_utils v1.0.1/go.mod h1:PPRayByXnfu8PR5Xv9wzUMBrm1BV3y7s29GGg8ae47s= github.com/OpenIMSDK/open_utils v1.0.8 h1:IopxWgJwEF5ZAPsRuiZZOfcxNOQOCt/p8VDENcHN9r4= github.com/OpenIMSDK/open_utils v1.0.8/go.mod h1:FLoaQblWUVKQgqt2LrNzfSZLT6D3DICBn1kcOMDLUOI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= @@ -464,7 +123,6 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.16.9/go.mod h1:O1IvkYxr+39hRf960Us6j github.com/aws/smithy-go v1.12.0 h1:gXpeZel/jPoWQ7OEmLIgCUnhkFftqNfwWUwAHSlp1v0= github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= 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 v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -472,9 +130,6 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/bwmarrin/snowflake v0.3.0 h1:xm67bEhkKh6ij1790JB83OujPR5CzNe8QuQqAgISZN0= github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -483,14 +138,8 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5P github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= 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/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= @@ -516,12 +165,9 @@ github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFP github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= @@ -529,9 +175,7 @@ github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8 github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/gzip v0.0.5 h1:mhnVU32YnnBh2LPH2iqRqsA/eR7SAqRaD388jL2s/j0= github.com/gin-contrib/gzip v0.0.5/go.mod h1:OPIK6HR0Um2vNmBUTlayD7qle4yVVRZT0PyhdUigrKk= @@ -539,7 +183,6 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.7.4/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U= -github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/gin-gonic/gin v1.8.2 h1:UzKToD9/PoFj/V4rvlKqTRKnQYyz8Sc1MJlv4JHPtvY= github.com/gin-gonic/gin v1.8.2/go.mod h1:qw5AYuDrzRTnhvusDsrov+fDIxp9Dleuu12h8nfB398= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -576,7 +219,6 @@ github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+ github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= -github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI= @@ -586,9 +228,6 @@ github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfC github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.0 h1:mXKd9Qw4NuzShiRlOXKews24ufknHO7gx30lsDyokKA= github.com/goccy/go-json v0.10.0/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -609,8 +248,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -626,7 +263,6 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -645,8 +281,6 @@ 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.4/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.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= @@ -654,9 +288,7 @@ github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/ github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -664,40 +296,19 @@ github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= -github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.2.0 h1:y8Yozv7SZtlU//QXbezB6QkpuE6jMD2/gfzk4AftXjs= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= -github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= -github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= -github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ= github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= -github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= -github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= @@ -708,9 +319,7 @@ github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2I github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= @@ -733,7 +342,6 @@ github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jonboulle/clockwork v0.3.0 h1:9BSCMi8C+0qdApAp4auwX0RkLGUjs956h0EkuQymUhg= -github.com/jonboulle/clockwork v0.3.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= @@ -751,7 +359,6 @@ github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8 github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= @@ -785,8 +392,6 @@ github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJ github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= @@ -814,30 +419,17 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ= github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/olivere/elastic/v7 v7.0.23 h1:b7tjMogDMhf2CisGI+L02LXLVa0ZyE82Z15XfW1e8t8= github.com/olivere/elastic/v7 v7.0.23/go.mod h1:OuWmD2DiuYhddWegBKPWQuelVKBLrW0fa/VUYgxuGTY= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.0.0 h1:CcuG/HvWNkkaqCUpJifQY8z7qEMBJya6aLPx6ftGyjQ= -github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= -github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/otiai10/copy v1.7.0/go.mod h1:rmRl6QPdJj6EiUqXQ/4Nn2lLXoNQjFCQbbNrxgc/t3U= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/otiai10/mint v1.3.3/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= -github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/pierrec/lz4 v2.6.0+incompatible h1:Ix9yFKn1nSPBLFl/yZknTp8TU5G4Ps0JDmguYK6iH1A= @@ -893,7 +485,6 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeV github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -902,7 +493,6 @@ github.com/smartystreets/assertions v1.1.1/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYl github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/gunit v1.4.2/go.mod h1:ZjM1ozSIMJlAz/ay4SG8PeKF00ckUp+zMHZXV9/bvak= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= @@ -936,10 +526,7 @@ github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhV github.com/tjfoc/gmsm v1.3.2 h1:7JVkAn5bvUJ7HtU08iW6UiD+UTmJTIToHCfeFzkcCxM= github.com/tjfoc/gmsm v1.3.2/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go v1.2.7 h1:qYhyWUUd6WbiM+C6JZAUkIJt/1WrjzNHY9+KCIjVqTo= -github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ugorji/go/codec v1.2.8 h1:sgBJS6COt0b/P40VouWKdseidkDgHxYGm0SAglUHfP0= github.com/ugorji/go/codec v1.2.8/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= @@ -960,15 +547,11 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.etcd.io/etcd/api/v3 v3.5.5/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= go.etcd.io/etcd/api/v3 v3.5.6 h1:Cy2qx3npLcYqTKqGJzMypnMv2tiRyifZJ17BlWIWA7A= go.etcd.io/etcd/api/v3 v3.5.6/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= -go.etcd.io/etcd/client/pkg/v3 v3.5.5/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= go.etcd.io/etcd/client/pkg/v3 v3.5.6 h1:TXQWYceBKqLp4sa87rcPs11SXxUA/mHwH975v+BDvLU= go.etcd.io/etcd/client/pkg/v3 v3.5.6/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= -go.etcd.io/etcd/client/v3 v3.5.5/go.mod h1:aApjR4WGlSumpnJ2kloS75h6aHUmAyaPLjHMxpc7E7c= go.etcd.io/etcd/client/v3 v3.5.6 h1:coLs69PWCXE9G4FKquzNaSHrRyMCAXwF+IX1tAPVO8E= go.etcd.io/etcd/client/v3 v3.5.6/go.mod h1:f6GRinRMCsFVv9Ht42EyY7nfsVGwrNO0WEoS2pRKzQk= go.mongodb.org/mongo-driver v1.8.3 h1:TDKlTkGDKm9kkJVUOAXDK5/fkqKHJVwYQSpoRfB43R4= @@ -978,7 +561,6 @@ go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= @@ -987,7 +569,6 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= 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.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= @@ -1005,7 +586,6 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE= @@ -1022,7 +602,6 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20220902085622-e7cb96979f69/go.mod h1:doUCurBvlfPMKfmIpRIywoHmhN3VyhnoFDbvIEWF4hY= golang.org/x/image v0.3.0 h1:HTDXbdK9bjfSWkPzDJIw89W8CAtfFGduujWs33NLLsg= golang.org/x/image v0.3.0/go.mod h1:fXd9211C/0VTlYuAcOhW8dY/RtEJqODXOWBDpmYBf+A= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1035,8 +614,6 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= @@ -1046,15 +623,11 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1077,40 +650,23 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20210427231257-85d9c07bbe3a/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1118,25 +674,8 @@ golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 h1:nt+Q6cXKz4MosCSpnbMtqiQ8Oz0pxTef2B4Vca2lvfk= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1150,14 +689,11 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1168,11 +704,8 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1193,79 +726,42 @@ golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= -golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1312,30 +808,15 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= -golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= 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.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= @@ -1354,40 +835,6 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= -google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= -google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= -google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= -google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= -google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= -google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= -google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= -google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= -google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= -google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= -google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= -google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= google.golang.org/api v0.103.0 h1:9yuVqlu2JCvcLg9p8S3fcFLZij8EPSyvODIY1rkMizQ= google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -1428,83 +875,7 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= -google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= -google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= -google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= -google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= -google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= -google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= -google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= -google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= -google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -1519,34 +890,13 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= google.golang.org/grpc v1.52.0 h1:kd48UiU7EHsV4rnLyOJRuP/Il/UHE7gdDAQ+SZI7nZk= google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1559,8 +909,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -1573,17 +921,14 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8 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/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df h1:n7WqCuqOuCbNr617RXOY0AWRXxgwEyPp2z+p0+hgMuE= gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw= gopkg.in/ini.v1 v1.56.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/internal/common/convert/convert.go b/internal/common/convert/convert.go index 588b3a731..7a4718a84 100644 --- a/internal/common/convert/convert.go +++ b/internal/common/convert/convert.go @@ -343,7 +343,7 @@ func (pb *PBUser) Convert() (*relation.UserModel, error) { dst := &relation.UserModel{} utils.CopyStructFields(dst, pb) dst.Birth = utils.UnixSecondToTime(pb.Birthday) - dst.CreateTime = utils.UnixSecondToTime(int64(pb.CreateTime)) + dst.CreateTime = utils.UnixSecondToTime(pb.CreateTime) return dst, nil } diff --git a/internal/rpc/friend/black.go b/internal/rpc/friend/black.go index d8626049d..55d4c396f 100644 --- a/internal/rpc/friend/black.go +++ b/internal/rpc/friend/black.go @@ -11,8 +11,8 @@ import ( "context" ) -func (s *friendServer) GetBlacks(ctx context.Context, req *pbFriend.GetBlacksReq) (*pbFriend.GetBlacksResp, error) { - resp := &pbFriend.GetBlacksResp{} +func (s *friendServer) GetPaginationBlacks(ctx context.Context, req *pbFriend.GetPaginationBlacksReq) (resp *pbFriend.GetPaginationBlacksResp, err error) { + resp = &pbFriend.GetPaginationBlacksResp{} if err := check.Access(ctx, req.UserID); err != nil { return nil, err } @@ -24,7 +24,6 @@ func (s *friendServer) GetBlacks(ctx context.Context, req *pbFriend.GetBlacksReq if err != nil { return nil, err } - resp.Total = int32(total) return resp, nil } diff --git a/internal/rpc/friend/friend.go b/internal/rpc/friend/friend.go index ae72cc0aa..11acc55e7 100644 --- a/internal/rpc/friend/friend.go +++ b/internal/rpc/friend/friend.go @@ -14,7 +14,6 @@ import ( "Open_IM/pkg/common/token_verify" "Open_IM/pkg/common/tracelog" pbFriend "Open_IM/pkg/proto/friend" - sdkws "Open_IM/pkg/proto/sdk_ws" pbUser "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" @@ -128,22 +127,22 @@ func (s *friendServer) Run() { } } -func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq) (*pbFriend.AddFriendResp, error) { - resp := &pbFriend.AddFriendResp{} +// ok +func (s *friendServer) ApplyToAddFriend(ctx context.Context, req *pbFriend.ApplyToAddFriendReq) (resp *pbFriend.ApplyToAddFriendResp, err error) { + resp = &pbFriend.ApplyToAddFriendResp{} if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil { return nil, err } if err := callbackBeforeAddFriendV1(ctx, req); err != nil { return nil, err } - - //检查toUserID fromUserID是否存在 + if req.ToUserID == req.FromUserID { + return nil, constant.ErrCanNotAddYourself.Wrap() + } if _, err := check.GetUsersInfo(ctx, req.ToUserID, req.FromUserID); err != nil { return nil, err } - - //from是否在to的好友列表里面 - err, in1, in2 := s.FriendInterface.CheckIn(ctx, req.FromUserID, req.ToUserID) + in1, in2, err := s.FriendInterface.CheckIn(ctx, req.FromUserID, req.ToUserID) if err != nil { return nil, err } @@ -153,34 +152,36 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq if err = s.FriendInterface.AddFriendRequest(ctx, req.FromUserID, req.ToUserID, req.ReqMsg, req.Ex); err != nil { return nil, err } - chat.FriendApplicationNotification(ctx, req) + chat.FriendApplicationAddNotification(ctx, req) return resp, nil } -func (s *friendServer) ImportFriends(ctx context.Context, req *pbFriend.ImportFriendReq) (*pbFriend.ImportFriendResp, error) { - resp := &pbFriend.ImportFriendResp{} +// ok +func (s *friendServer) ImportFriends(ctx context.Context, req *pbFriend.ImportFriendReq) (resp *pbFriend.ImportFriendResp, err error) { + resp = &pbFriend.ImportFriendResp{} if err := token_verify.CheckAdmin(ctx); err != nil { return nil, err } - if _, err := check.GetUsersInfo(ctx, req.OwnerUserID); err != nil { + if _, err := check.GetUsersInfo(ctx, req.OwnerUserID, req.FriendUserIDs); err != nil { return nil, err } - var friends []*relation2.FriendModel - for _, userID := range utils.RemoveDuplicateElement(req.FriendUserIDs) { - friends = append(friends, &relation2.FriendModel{OwnerUserID: userID, FriendUserID: req.OwnerUserID, AddSource: constant.BecomeFriendByImport, OperatorUserID: tracelog.GetOpUserID(ctx)}) + if utils.Contain(req.FriendUserIDs, req.OwnerUserID) { + return nil, constant.ErrCanNotAddYourself.Wrap() } - if len(friends) > 0 { - if err := s.FriendInterface.BecomeFriend(ctx, friends); err != nil { - return nil, err - } + if utils.Duplicate(req.FriendUserIDs) { + return nil, constant.ErrArgs.Wrap("friend userID repeated") + } + + if err := s.FriendInterface.BecomeFriends(ctx, req.OwnerUserID, req.FriendUserIDs, constant.BecomeFriendByImport, tracelog.GetOpUserID(ctx)); err != nil { + return nil, err } return resp, nil } -// process Friend application -func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.RespondFriendApplyReq) (*pbFriend.RespondFriendApplyResp, error) { - resp := &pbFriend.RespondFriendApplyResp{} +// ok +func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.RespondFriendApplyReq) (resp *pbFriend.RespondFriendApplyResp, err error) { + resp = &pbFriend.RespondFriendApplyResp{} if err := check.Access(ctx, req.ToUserID); err != nil { return nil, err } @@ -190,7 +191,7 @@ func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.Res if err != nil { return nil, err } - chat.FriendApplicationApprovedNotification(ctx, req) + chat.FriendApplicationAgreedNotification(ctx, req) return resp, nil } if req.HandleResult == constant.FriendResponseRefuse { @@ -198,29 +199,39 @@ func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.Res if err != nil { return nil, err } - chat.FriendApplicationRejectedNotification(ctx, req) + chat.FriendApplicationRefusedNotification(ctx, req) return resp, nil } return nil, constant.ErrArgs.Wrap("req.HandleResult != -1/1") } -func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFriendReq) (*pbFriend.DeleteFriendResp, error) { - resp := &pbFriend.DeleteFriendResp{} +// ok +func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFriendReq) (resp *pbFriend.DeleteFriendResp, err error) { + resp = &pbFriend.DeleteFriendResp{} if err := check.Access(ctx, req.OwnerUserID); err != nil { return nil, err } - if err := s.FriendInterface.Delete(ctx, req.OwnerUserID, req.FriendUserID); err != nil { + _, err = s.FindFriends(ctx, req.OwnerUserID, []string{req.FriendUserID}) + if err != nil { + return nil, err + } + if err := s.FriendInterface.Delete(ctx, req.OwnerUserID, []string{req.FriendUserID}); err != nil { return nil, err } chat.FriendDeletedNotification(ctx, req) return resp, nil } -func (s *friendServer) SetFriendRemark(ctx context.Context, req *pbFriend.SetFriendRemarkReq) (*pbFriend.SetFriendRemarkResp, error) { - resp := &pbFriend.SetFriendRemarkResp{} +// ok +func (s *friendServer) SetFriendRemark(ctx context.Context, req *pbFriend.SetFriendRemarkReq) (resp *pbFriend.SetFriendRemarkResp, err error) { + resp = &pbFriend.SetFriendRemarkResp{} if err := check.Access(ctx, req.OwnerUserID); err != nil { return nil, err } + _, err = s.FindFriends(ctx, req.OwnerUserID, []string{req.FriendUserID}) + if err != nil { + return nil, err + } if err := s.FriendInterface.UpdateRemark(ctx, req.OwnerUserID, req.FriendUserID, req.Remark); err != nil { return nil, err } @@ -228,8 +239,9 @@ func (s *friendServer) SetFriendRemark(ctx context.Context, req *pbFriend.SetFri return resp, nil } -func (s *friendServer) GetFriends(ctx context.Context, req *pbFriend.GetFriendsReq) (*pbFriend.GetFriendsResp, error) { - resp := &pbFriend.GetFriendsResp{} +// ok +func (s *friendServer) GetDesignatedFriendsReq(ctx context.Context, req *pbFriend.GetDesignatedFriendsReq) (resp *pbFriend.GetDesignatedFriendsResp, err error) { + resp = &pbFriend.GetDesignatedFriendsResp{} if err := check.Access(ctx, req.UserID); err != nil { return nil, err } @@ -237,18 +249,6 @@ func (s *friendServer) GetFriends(ctx context.Context, req *pbFriend.GetFriendsR if err != nil { return nil, err } - userIDList := make([]string, 0, len(friends)) - for _, f := range friends { - userIDList = append(userIDList, f.FriendUserID) - } - users, err := check.GetUsersInfo(ctx, userIDList) - if err != nil { - return nil, err - } - userMap := make(map[string]*sdkws.UserInfo) - for i, user := range users { - userMap[user.UserID] = users[i] - } resp.FriendsInfo, err = (*convert.DBFriend)(nil).DB2PB(friends) if err != nil { return nil, err @@ -257,9 +257,9 @@ func (s *friendServer) GetFriends(ctx context.Context, req *pbFriend.GetFriendsR return resp, nil } -// 获取接收到的好友申请(即别人主动申请的) -func (s *friendServer) GetToFriendsApply(ctx context.Context, req *pbFriend.GetToFriendsApplyReq) (*pbFriend.GetToFriendsApplyResp, error) { - resp := &pbFriend.GetToFriendsApplyResp{} +// ok 获取接收到的好友申请(即别人主动申请的) +func (s *friendServer) GetPaginationFriendsApplyTo(ctx context.Context, req *pbFriend.GetPaginationFriendsApplyToReq) (resp *pbFriend.GetPaginationFriendsApplyToResp, err error) { + resp = &pbFriend.GetPaginationFriendsApplyToResp{} if err := check.Access(ctx, req.UserID); err != nil { return nil, err } @@ -275,9 +275,9 @@ func (s *friendServer) GetToFriendsApply(ctx context.Context, req *pbFriend.GetT return resp, nil } -// 获取主动发出去的好友申请列表 -func (s *friendServer) GetFromFriendsApply(ctx context.Context, req *pbFriend.GetFromFriendsApplyReq) (*pbFriend.GetFromFriendsApplyResp, error) { - resp := &pbFriend.GetFromFriendsApplyResp{} +// ok 获取主动发出去的好友申请列表 +func (s *friendServer) GetPaginationFriendsApplyFrom(ctx context.Context, req *pbFriend.GetPaginationFriendsApplyFromReq) (resp *pbFriend.GetPaginationFriendsApplyFromResp, err error) { + resp = &pbFriend.GetPaginationFriendsApplyFromResp{} if err := check.Access(ctx, req.UserID); err != nil { return nil, err } @@ -293,26 +293,28 @@ func (s *friendServer) GetFromFriendsApply(ctx context.Context, req *pbFriend.Ge return resp, nil } -func (s *friendServer) IsFriend(ctx context.Context, req *pbFriend.IsFriendReq) (*pbFriend.IsFriendResp, error) { - resp := &pbFriend.IsFriendResp{} - err, in1, in2 := s.FriendInterface.CheckIn(ctx, req.UserID1, req.UserID2) +// ok +func (s *friendServer) IsFriend(ctx context.Context, req *pbFriend.IsFriendReq) (resp *pbFriend.IsFriendResp, err error) { + resp = &pbFriend.IsFriendResp{} + resp.InUser1Friends, resp.InUser2Friends, err = s.FriendInterface.CheckIn(ctx, req.UserID1, req.UserID2) if err != nil { return nil, err } - resp.InUser1Friends = in1 - resp.InUser2Friends = in2 return resp, nil } -func (s *friendServer) GetFriendsInfo(ctx context.Context, req *pbFriend.GetFriendsInfoReq) (*pbFriend.GetFriendsInfoResp, error) { - resp := pbFriend.GetFriendsInfoResp{} +// ok +func (s *friendServer) GetPaginationFriends(ctx context.Context, req *pbFriend.GetPaginationFriendsReq) (resp *pbFriend.GetPaginationFriendsResp, err error) { + resp = &pbFriend.GetPaginationFriendsResp{} + if utils.Duplicate(req.FriendUserIDs) { + return nil, constant.ErrArgs.Wrap("friend userID repeated") + } friends, err := s.FriendInterface.FindFriends(ctx, req.OwnerUserID, req.FriendUserIDs) if err != nil { return nil, err } - resp.FriendsInfo, err = (*convert.DBFriend)(nil).DB2PB(friends) - if err != nil { + if resp.FriendsInfo, err = (*convert.DBFriend)(nil).DB2PB(friends); err != nil { return nil, err } - return &resp, nil + return resp, nil } diff --git a/internal/rpc/msg/friend_notification.go b/internal/rpc/msg/friend_notification.go index fe3979d5e..a61cd6b57 100644 --- a/internal/rpc/msg/friend_notification.go +++ b/internal/rpc/msg/friend_notification.go @@ -91,14 +91,14 @@ func friendNotification(operationID, fromUserID, toUserID string, contentType in Notification(&n) } -func FriendApplicationNotification(ctx context.Context, req *pbFriend.AddFriendReq) { +func FriendApplicationAddNotification(ctx context.Context, req *pbFriend.AddFriendReq) { FriendApplicationTips := open_im_sdk.FriendApplicationTips{FromToUserID: &open_im_sdk.FromToUserID{}} FriendApplicationTips.FromToUserID.FromUserID = req.FromUserID FriendApplicationTips.FromToUserID.ToUserID = req.ToUserID friendNotification(tracelog.GetOperationID(ctx), req.FromUserID, req.ToUserID, constant.FriendApplicationNotification, &FriendApplicationTips) } -func FriendApplicationApprovedNotification(ctx context.Context, req *pbFriend.RespondFriendApplyReq) { +func FriendApplicationAgreedNotification(ctx context.Context, req *pbFriend.RespondFriendApplyReq) { FriendApplicationApprovedTips := open_im_sdk.FriendApplicationApprovedTips{FromToUserID: &open_im_sdk.FromToUserID{}} FriendApplicationApprovedTips.FromToUserID.FromUserID = req.FromUserID FriendApplicationApprovedTips.FromToUserID.ToUserID = req.ToUserID @@ -106,7 +106,7 @@ func FriendApplicationApprovedNotification(ctx context.Context, req *pbFriend.Re friendNotification(tracelog.GetOperationID(ctx), req.ToUserID, req.FromUserID, constant.FriendApplicationApprovedNotification, &FriendApplicationApprovedTips) } -func FriendApplicationRejectedNotification(ctx context.Context, req *pbFriend.RespondFriendApplyReq) { +func FriendApplicationRefusedNotification(ctx context.Context, req *pbFriend.RespondFriendApplyReq) { FriendApplicationApprovedTips := open_im_sdk.FriendApplicationApprovedTips{FromToUserID: &open_im_sdk.FromToUserID{}} FriendApplicationApprovedTips.FromToUserID.FromUserID = req.FromUserID FriendApplicationApprovedTips.FromToUserID.ToUserID = req.ToUserID diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 726e16462..95c6170a7 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -15,6 +15,7 @@ import ( "Open_IM/pkg/getcdv3" pbFriend "Open_IM/pkg/proto/friend" pbGroup "Open_IM/pkg/proto/group" + server_api_params "Open_IM/pkg/proto/sdk_ws" pbUser "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" @@ -167,6 +168,7 @@ func (s *userServer) SyncJoinedGroupMemberNickname(ctx context.Context, userID s } } +// ok func (s *userServer) GetUsersInfo(ctx context.Context, req *pbUser.GetUsersInfoReq) (*pbUser.GetUsersInfoResp, error) { resp := &pbUser.GetUsersInfoResp{} users, err := s.Find(ctx, req.UserIDs) @@ -228,21 +230,24 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI return &resp, nil } -func (s *userServer) SetGlobalRecvMessageOpt(ctx context.Context, req *pbUser.SetGlobalRecvMessageOptReq) (*pbUser.SetGlobalRecvMessageOptResp, error) { - resp := pbUser.SetGlobalRecvMessageOptResp{} +func (s *userServer) SetGlobalRecvMessageOpt(ctx context.Context, req *pbUser.SetGlobalRecvMessageOptReq) (resp *pbUser.SetGlobalRecvMessageOptResp, err error) { + resp = &pbUser.SetGlobalRecvMessageOptResp{} + + if _, err := s.Find(ctx, []string{req.UserID}); err != nil { + return nil, err + } m := make(map[string]interface{}, 1) m["global_recv_msg_opt"] = req.GlobalRecvMsgOpt - err := s.UpdateByMap(ctx, req.UserID, m) - if err != nil { + if err := s.UpdateByMap(ctx, req.UserID, m); err != nil { return nil, err } chat.UserInfoUpdatedNotification(ctx, req.UserID, req.UserID) - return &resp, nil + return resp, nil } -func (s *userServer) AccountCheck(ctx context.Context, req *pbUser.AccountCheckReq) (*pbUser.AccountCheckResp, error) { - resp := pbUser.AccountCheckResp{} - err := token_verify.CheckAdmin(ctx) +func (s *userServer) AccountCheck(ctx context.Context, req *pbUser.AccountCheckReq) (resp *pbUser.AccountCheckResp, err error) { + resp = &pbUser.AccountCheckResp{} + err = token_verify.CheckAdmin(ctx) if err != nil { return nil, err } @@ -250,24 +255,23 @@ func (s *userServer) AccountCheck(ctx context.Context, req *pbUser.AccountCheckR if err != nil { return nil, err } - uidList := make([]string, 0) + userIDs := make(map[string]interface{}, 0) for _, v := range user { - uidList = append(uidList, v.UserID) + userIDs[v.UserID] = nil } - var r []*pbUser.AccountCheckRespSingleUserStatus for _, v := range req.CheckUserIDs { - temp := new(pbUser.AccountCheckRespSingleUserStatus) - temp.UserID = v - if utils.IsContain(v, uidList) { + temp := &pbUser.AccountCheckRespSingleUserStatus{UserID: v} + if _, ok := userIDs[v]; ok { temp.AccountStatus = constant.Registered } else { temp.AccountStatus = constant.UnRegistered } - r = append(r, temp) + resp.Results = append(resp.Results, temp) } - return &resp, nil + return resp, nil } +// todo func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pbUser.GetUsersResp, error) { resp := pbUser.GetUsersResp{} var err error @@ -286,7 +290,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb } if req.UserName != "" { - usersDB, total, err := s.GetByName(ctx, req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber) + usersDB, total, err := s.GetByName(ctx, req.UserName, req.Pagination.PageNumber, req.Pagination.ShowNumber) if err != nil { return nil, err } @@ -300,7 +304,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb } return &resp, nil } else if req.Content != "" { - usersDB, total, err := s.GetByNameAndID(ctx, req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber) + usersDB, total, err := s.GetByNameAndID(ctx, req.UserName, req.Pagination.PageNumber, req.Pagination.ShowNumber) if err != nil { return nil, err } @@ -315,7 +319,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb return &resp, nil } - usersDB, total, err := s.Get(ctx, req.Pagination.ShowNumber, req.Pagination.PageNumber) + usersDB, total, err := s.Get(ctx, req.Pagination.PageNumber, req.Pagination.ShowNumber) if err != nil { return nil, err } @@ -332,18 +336,22 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb return &resp, nil } -func (s *userServer) UserRegister(ctx context.Context, req *pbUser.UserRegisterReq) (*pbUser.UserRegisterResp, error) { - resp := pbUser.UserRegisterResp{} +func (s *userServer) UserRegister(ctx context.Context, req *pbUser.UserRegisterReq) (resp *pbUser.UserRegisterResp, err error) { + resp = &pbUser.UserRegisterResp{} + if utils.DuplicateAny(req.Users, func(e *server_api_params.UserInfo) string { return e.UserID }) { + return nil, constant.ErrArgs.Wrap("userID repeated") + } userIDs := make([]string, 0) for _, v := range req.Users { userIDs = append(userIDs, v.UserID) } + exist, err := s.IsExist(ctx, userIDs) if err != nil { return nil, err } if exist { - return nil, constant.ErrRegisteredAlready.Wrap("exist") + return nil, constant.ErrRegisteredAlready.Wrap("userID exist in db") } users, err := (*convert.PBUser)(nil).PB2DB(req.Users) if err != nil { @@ -353,5 +361,5 @@ func (s *userServer) UserRegister(ctx context.Context, req *pbUser.UserRegisterR if err != nil { return nil, err } - return &resp, nil + return resp, nil } diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 7bff14efa..e282a6c75 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -300,10 +300,8 @@ const ( ReliableNotificationMsg = 3 ) const ( - BecomeFriendByImport = 1 //管理员导入 - BecomeFriendByMyApply = 2 //自己主动申请添加 - BecomeFriendByPeerApply = 3 //对方主动申请添加 - BecomeFriendByApply = 4 //申请添加 + BecomeFriendByImport = 1 //管理员导入 + BecomeFriendByApply = 2 //申请添加 ) const ( diff --git a/pkg/common/constant/errors.go b/pkg/common/constant/errors.go index c34fe521b..8dc933b22 100644 --- a/pkg/common/constant/errors.go +++ b/pkg/common/constant/errors.go @@ -18,6 +18,7 @@ var ( ErrRelationshipAlready = &ErrInfo{RelationshipAlreadyError, "RelationshipAlreadyError", ""} ErrNotRelationshipYet = &ErrInfo{NotRelationshipYetError, "NotRelationshipYetError", ""} + ErrCanNotAddYourself = &ErrInfo{CanNotAddYourselfError, "CanNotAddYourselfError", ""} ErrOnlyOneOwner = &ErrInfo{OnlyOneOwnerError, "OnlyOneOwnerError", ""} ErrInGroupAlready = &ErrInfo{InGroupAlreadyError, "InGroupAlreadyError", ""} @@ -90,6 +91,7 @@ const ( const ( RelationshipAlreadyError = 92001 //已经是好友关系(或者黑名单) NotRelationshipYetError = 92002 //不是好友关系(或者黑名单) + CanNotAddYourselfError = 92003 //不能添加自己为好友 ) // 群组错误码 diff --git a/pkg/common/db/controller/friend.go b/pkg/common/db/controller/friend.go index 04bc180dd..f236f31d3 100644 --- a/pkg/common/db/controller/friend.go +++ b/pkg/common/db/controller/friend.go @@ -6,33 +6,34 @@ import ( "Open_IM/pkg/common/db/table/relation" "Open_IM/pkg/utils" "context" + "errors" "gorm.io/gorm" ) type FriendInterface interface { - // CheckIn 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true) + // 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true) CheckIn(ctx context.Context, user1, user2 string) (inUser1Friends bool, inUser2Friends bool, err error) - // AddFriendRequest 增加或者更新好友申请 + // 增加或者更新好友申请 如果之前有记录则更新,没有记录则新增 AddFriendRequest(ctx context.Context, fromUserID, toUserID string, reqMsg string, ex string) (err error) - // BecomeFriend 先判断是否在好友表,如果在则不插入 - BecomeFriend(ctx context.Context, friends []*relation.FriendModel, revFriends []*relation.FriendModel) (err error) - // RefuseFriendRequest 拒绝好友申请 + // (1)先判断是否在好友表 (在不在都不返回错误) (2)对于不在好友列表的 插入即可 + BecomeFriends(ctx context.Context, ownerUserID string, friendUserIDs []string, addSource int32, OperatorUserID string) (err error) + // 拒绝好友申请 (1)检查是否有申请记录且为未处理状态 (没有记录返回错误) (2)修改申请记录 已拒绝 RefuseFriendRequest(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) - // AgreeFriendRequest 同意好友申请 + // 同意好友申请 (1)检查是否有申请记录且为未处理状态 (没有记录返回错误) (2)检查是否好友(不返回错误) (3) 不是好友则建立双向好友关系 (4)修改申请记录 已同意 AgreeFriendRequest(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) - // Delete 删除好友 - Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error) - // UpdateRemark 更新好友备注 + // 删除好友 外部判断是否好友关系 + Delete(ctx context.Context, ownerUserID string, friendUserIDs []string) (err error) + // 更新好友备注 零值也支持 UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) - // FindOwnerFriends 获取ownerUserID的好友列表 + // 获取ownerUserID的好友列表 无结果不返回错误 FindOwnerFriends(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (friends []*relation.FriendModel, total int64, err error) - // FindInWhoseFriends friendUserID在哪些人的好友列表中 + // friendUserID在哪些人的好友列表中 FindInWhoseFriends(ctx context.Context, friendUserID string, pageNumber, showNumber int32) (friends []*relation.FriendModel, total int64, err error) - // FindFriendRequestFromMe 获取我发出去的好友申请 + // 获取我发出去的好友申请 无结果不返回错误 FindFriendRequestFromMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequestModel, total int64, err error) - // FindFriendRequestToMe 获取我收到的的好友申请 + // 获取我收到的的好友申请 无结果不返回错误 FindFriendRequestToMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequestModel, total int64, err error) - // FindFriends 获取某人指定好友的信息 如果有一个不存在也返回错误 + // 获取某人指定好友的信息 如果有一个不存在也返回错误 FindFriends(ctx context.Context, ownerUserID string, friendUserIDs []string) (friends []*relation.FriendModel, err error) } @@ -44,7 +45,7 @@ func NewFriendController(db *gorm.DB) *FriendController { return &FriendController{database: NewFriendDatabase(db)} } -// CheckIn 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true) +// 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true) func (f *FriendController) CheckIn(ctx context.Context, user1, user2 string) (inUser1Friends bool, inUser2Friends bool, err error) { return f.database.CheckIn(ctx, user1, user2) } @@ -55,8 +56,8 @@ func (f *FriendController) AddFriendRequest(ctx context.Context, fromUserID, toU } // BecomeFriend 先判断是否在好友表,如果在则不插入 -func (f *FriendController) BecomeFriend(ctx context.Context, ownerUserID string, friends []*relation.FriendModel) (err error) { - return f.database.BecomeFriend(ctx, ownerUserID, friends) +func (f *FriendController) BecomeFriends(ctx context.Context, ownerUserID string, friendUserIDs []string, addSource int32, OperatorUserID string) (err error) { + return f.database.BecomeFriends(ctx, ownerUserID, friendUserIDs, addSource, OperatorUserID) } // RefuseFriendRequest 拒绝好友申请 @@ -70,7 +71,7 @@ func (f *FriendController) AgreeFriendRequest(ctx context.Context, friendRequest } // Delete 删除好友 -func (f *FriendController) Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error) { +func (f *FriendController) Delete(ctx context.Context, ownerUserID string, friendUserIDs []string) (err error) { return f.database.Delete(ctx, ownerUserID, friendUserIDs) } @@ -102,33 +103,32 @@ func (f *FriendController) FindFriendRequestToMe(ctx context.Context, userID str // FindFriends 获取某人指定好友的信息 func (f *FriendController) FindFriends(ctx context.Context, ownerUserID string, friendUserIDs []string) (friends []*relation.FriendModel, err error) { return f.database.FindFriends(ctx, ownerUserID, friendUserIDs) - } type FriendDatabaseInterface interface { - // CheckIn 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true) + // 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true) CheckIn(ctx context.Context, user1, user2 string) (inUser1Friends bool, inUser2Friends bool, err error) - // AddFriendRequest 增加或者更新好友申请 + // 增加或者更新好友申请 AddFriendRequest(ctx context.Context, fromUserID, toUserID string, reqMsg string, ex string) (err error) - // BecomeFriend 先判断是否在好友表,如果在则不插入 - BecomeFriend(ctx context.Context, ownerUserID string, friends []*relation.FriendModel) (err error) - // RefuseFriendRequest 拒绝好友申请 + // 先判断是否在好友表,如果在则不插入 + BecomeFriends(ctx context.Context, ownerUserID string, friendUserIDs []string, addSource int32, OperatorUserID string) (err error) + // 拒绝好友申请 RefuseFriendRequest(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) - // AgreeFriendRequest 同意好友申请 + // 同意好友申请 AgreeFriendRequest(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) - // Delete 删除好友 - Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error) - // UpdateRemark 更新好友备注 + // 删除好友 + Delete(ctx context.Context, ownerUserID string, friendUserIDs []string) (err error) + // 更新好友备注 UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) - // FindOwnerFriends 获取ownerUserID的好友列表 + // 获取ownerUserID的好友列表 FindOwnerFriends(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (friends []*relation.FriendModel, total int64, err error) - // FindInWhoseFriends friendUserID在哪些人的好友列表中 + // friendUserID在哪些人的好友列表中 FindInWhoseFriends(ctx context.Context, friendUserID string, pageNumber, showNumber int32) (friends []*relation.FriendModel, total int64, err error) - // FindFriendRequestFromMe 获取我发出去的好友申请 + // 获取我发出去的好友申请 FindFriendRequestFromMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequestModel, total int64, err error) - // FindFriendRequestToMe 获取我收到的的好友申请 + // 获取我收到的的好友申请 FindFriendRequestToMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequestModel, total int64, err error) - // FindFriends 获取某人指定好友的信息 + // 获取某人指定好友的信息 FindFriends(ctx context.Context, ownerUserID string, friendUserIDs []string) (friends []*relation.FriendModel, err error) } @@ -141,9 +141,12 @@ func NewFriendDatabase(db *gorm.DB) *FriendDatabase { return &FriendDatabase{friend: relation1.NewFriendGorm(db), friendRequest: relation1.NewFriendRequestGorm(db)} } -// CheckIn 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true) +// ok 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true) func (f *FriendDatabase) CheckIn(ctx context.Context, userID1, userID2 string) (inUser1Friends bool, inUser2Friends bool, err error) { friends, err := f.friend.FindUserState(ctx, userID1, userID2) + if err != nil { + return false, false, err + } for _, v := range friends { if v.OwnerUserID == userID1 && v.FriendUserID == userID2 { inUser1Friends = true @@ -155,14 +158,16 @@ func (f *FriendDatabase) CheckIn(ctx context.Context, userID1, userID2 string) ( return } -// AddFriendRequest 增加或者更新好友申请 +// 增加或者更新好友申请 如果之前有记录则更新,没有记录则新增 func (f *FriendDatabase) AddFriendRequest(ctx context.Context, fromUserID, toUserID string, reqMsg string, ex string) (err error) { return f.friendRequest.DB.Transaction(func(tx *gorm.DB) error { - fq, err := f.friendRequest.Find(ctx, fromUserID, toUserID, tx) - if err != nil { + _, err := f.friendRequest.Take(ctx, fromUserID, toUserID, tx) + //有db错误 + if err != nil && errors.Unwrap(err) != gorm.ErrRecordNotFound { return err } - if fq != nil { // + //无错误 则更新 + if err == nil { m := make(map[string]interface{}, 1) m["handle_result"] = 0 m["handle_msg"] = "" @@ -171,44 +176,45 @@ func (f *FriendDatabase) AddFriendRequest(ctx context.Context, fromUserID, toUse if err := f.friendRequest.UpdateByMap(ctx, fromUserID, toUserID, m, tx); err != nil { return err } - } else { - if err := f.friendRequest.Create(ctx, []*relation.FriendRequestModel{&relation.FriendRequestModel{FromUserID: fromUserID, ToUserID: toUserID, ReqMsg: reqMsg, Ex: ex}}, tx); err != nil { - return err - } + return nil + } + //gorm.ErrRecordNotFound 错误,则新增 + if err := f.friendRequest.Create(ctx, []*relation.FriendRequestModel{&relation.FriendRequestModel{FromUserID: fromUserID, ToUserID: toUserID, ReqMsg: reqMsg, Ex: ex}}, tx); err != nil { + return err } return nil }) } -// BecomeFriend 先判断是否在好友表,如果在则不插入 -func (f *FriendDatabase) BecomeFriend(ctx context.Context, ownerUserID string, friends []*relation.FriendModel) (err error) { +// (1)先判断是否在好友表 (在不在都不返回错误) (2)对于不在好友列表的 插入即可 +func (f *FriendDatabase) BecomeFriends(ctx context.Context, ownerUserID string, friendUserIDs []string, addSource int32, OperatorUserID string) (err error) { return f.friend.DB.Transaction(func(tx *gorm.DB) error { //先find 找出重复的 去掉重复的 - friendUserIDs := make([]string, 0, len(friends)) - for _, v := range friends { - friendUserIDs = append(friendUserIDs, v.FriendUserID) - } fs1, err := f.friend.FindFriends(ctx, ownerUserID, friendUserIDs, tx) if err != nil { return err } - fs1 = append(fs1, friends...) + for _, v := range friendUserIDs { + fs1 = append(fs1, &relation.FriendModel{OwnerUserID: ownerUserID, FriendUserID: v, AddSource: addSource, OperatorUserID: OperatorUserID}) + } fs11 := utils.DistinctAny(fs1, func(e *relation.FriendModel) string { - return utils.UniqueJoin(e.OwnerUserID, e.FriendUserID) + return e.FriendUserID }) + err = f.friend.Create(ctx, fs11, tx) if err != nil { return err } + fs2, err := f.friend.FindReversalFriends(ctx, ownerUserID, friendUserIDs, tx) if err != nil { return err } - for _, v := range friends { - fs2 = append(fs2, &relation.FriendModel{OwnerUserID: v.FriendUserID, FriendUserID: ownerUserID}) + for _, v := range friendUserIDs { + fs2 = append(fs2, &relation.FriendModel{OwnerUserID: v, FriendUserID: ownerUserID, AddSource: addSource, OperatorUserID: OperatorUserID}) } fs22 := utils.DistinctAny(fs2, func(e *relation.FriendModel) string { - return utils.UniqueJoin(e.OwnerUserID, e.FriendUserID) + return e.OwnerUserID }) err = f.friend.Create(ctx, fs22, tx) if err != nil { @@ -218,8 +224,12 @@ func (f *FriendDatabase) BecomeFriend(ctx context.Context, ownerUserID string, f }) } -// RefuseFriendRequest 拒绝好友申请 +// 拒绝好友申请 (1)检查是否有申请记录且为未处理状态 (没有记录返回错误) (2)修改申请记录 已拒绝 func (f *FriendDatabase) RefuseFriendRequest(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) { + _, err = f.friendRequest.Take(ctx, friendRequest.FromUserID, friendRequest.ToUserID) + if err != nil { + return err + } friendRequest.HandleResult = constant.FriendResponseRefuse err = f.friendRequest.Update(ctx, []*relation.FriendRequestModel{friendRequest}) if err != nil { @@ -228,79 +238,90 @@ func (f *FriendDatabase) RefuseFriendRequest(ctx context.Context, friendRequest return nil } -// AgreeFriendRequest 同意好友申请 +// 同意好友申请 (1)检查是否有申请记录且为未处理状态 (没有记录返回错误) (2)检查是否好友(不返回错误) (3) 不是好友则建立双向好友关系 (4)修改申请记录 已同意 func (f *FriendDatabase) AgreeFriendRequest(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) { return f.friend.DB.Transaction(func(tx *gorm.DB) error { - //先find 找出重复的 去掉重复的 - fs1, err := f.friend.FindFriends(ctx, friendRequest.FromUserID, []string{friendRequest.ToUserID}, tx) + _, err = f.friendRequest.Take(ctx, friendRequest.FromUserID, friendRequest.ToUserID) if err != nil { return err } - if len(fs1) == 0 { - err = f.friend.Create(ctx, []*relation.FriendModel{ - &relation.FriendModel{ - OwnerUserID: friendRequest.FromUserID, - FriendUserID: friendRequest.ToUserID, - OperatorUserID: friendRequest.ToUserID, - AddSource: constant.BecomeFriendByApply, - }}, tx) - if err != nil { - return err - } - } - fs2, err := f.friend.FindReversalFriends(ctx, friendRequest.ToUserID, []string{friendRequest.FromUserID}, tx) - if len(fs2) == 0 { - err = f.friend.Create(ctx, []*relation.FriendModel{ - &relation.FriendModel{ - OwnerUserID: friendRequest.ToUserID, - FriendUserID: friendRequest.FromUserID, - OperatorUserID: friendRequest.ToUserID, - AddSource: constant.BecomeFriendByApply, - }}, tx) - if err != nil { - return err - } - } + friendRequest.HandlerUserID = friendRequest.FromUserID friendRequest.HandleResult = constant.FriendResponseAgree err = f.friendRequest.Update(ctx, []*relation.FriendRequestModel{friendRequest}, tx) if err != nil { return err } + + ownerUserID := friendRequest.FromUserID + friendUserIDs := []string{friendRequest.ToUserID} + addSource := int32(constant.BecomeFriendByApply) + OperatorUserID := friendRequest.FromUserID + //先find 找出重复的 去掉重复的 + fs1, err := f.friend.FindFriends(ctx, ownerUserID, friendUserIDs, tx) + if err != nil { + return err + } + for _, v := range friendUserIDs { + fs1 = append(fs1, &relation.FriendModel{OwnerUserID: ownerUserID, FriendUserID: v, AddSource: addSource, OperatorUserID: OperatorUserID}) + } + fs11 := utils.DistinctAny(fs1, func(e *relation.FriendModel) string { + return e.FriendUserID + }) + + err = f.friend.Create(ctx, fs11, tx) + if err != nil { + return err + } + + fs2, err := f.friend.FindReversalFriends(ctx, ownerUserID, friendUserIDs, tx) + if err != nil { + return err + } + for _, v := range friendUserIDs { + fs2 = append(fs2, &relation.FriendModel{OwnerUserID: v, FriendUserID: ownerUserID, AddSource: addSource, OperatorUserID: OperatorUserID}) + } + fs22 := utils.DistinctAny(fs2, func(e *relation.FriendModel) string { + return e.OwnerUserID + }) + err = f.friend.Create(ctx, fs22, tx) + if err != nil { + return err + } return nil }) } -// Delete 删除好友 -func (f *FriendDatabase) Delete(ctx context.Context, ownerUserID string, friendUserID string) (err error) { - return f.friend.Delete(ctx, ownerUserID, friendUserID) +// 删除好友 外部判断是否好友关系 +func (f *FriendDatabase) Delete(ctx context.Context, ownerUserID string, friendUserIDs []string) (err error) { + return f.friend.Delete(ctx, ownerUserID, friendUserIDs) } -// UpdateRemark 更新好友备注 +// 更新好友备注 零值也支持 func (f *FriendDatabase) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) { return f.friend.UpdateRemark(ctx, ownerUserID, friendUserID, remark) } -// FindOwnerFriends 获取ownerUserID的好友列表 +// 获取ownerUserID的好友列表 无结果不返回错误 func (f *FriendDatabase) FindOwnerFriends(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (friends []*relation.FriendModel, total int64, err error) { return f.friend.FindOwnerFriends(ctx, ownerUserID, pageNumber, showNumber) } -// FindInWhoseFriends friendUserID在哪些人的好友列表中 +// friendUserID在哪些人的好友列表中 func (f *FriendDatabase) FindInWhoseFriends(ctx context.Context, friendUserID string, pageNumber, showNumber int32) (friends []*relation.FriendModel, total int64, err error) { return f.friend.FindInWhoseFriends(ctx, friendUserID, pageNumber, showNumber) } -// FindFriendRequestFromMe 获取我发出去的好友申请 +// 获取我发出去的好友申请 无结果不返回错误 func (f *FriendDatabase) FindFriendRequestFromMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequestModel, total int64, err error) { return f.friendRequest.FindFromUserID(ctx, userID, pageNumber, showNumber) } -// FindFriendRequestToMe 获取我收到的的好友申请 +// 获取我收到的的好友申请 无结果不返回错误 func (f *FriendDatabase) FindFriendRequestToMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequestModel, total int64, err error) { return f.friendRequest.FindToUserID(ctx, userID, pageNumber, showNumber) } -// FindFriends 获取某人指定好友的信息 如果有一个不存在,也返回错误 +// 获取某人指定好友的信息 如果有好友不存在,也返回错误 func (f *FriendDatabase) FindFriends(ctx context.Context, ownerUserID string, friendUserIDs []string) (friends []*relation.FriendModel, err error) { friends, err = f.friend.FindFriends(ctx, ownerUserID, friendUserIDs) if err != nil { diff --git a/pkg/common/db/controller/user.go b/pkg/common/db/controller/user.go index 06a05f7ec..b6bf2dfbd 100644 --- a/pkg/common/db/controller/user.go +++ b/pkg/common/db/controller/user.go @@ -9,20 +9,16 @@ import ( ) type UserInterface interface { - //获取指定用户的信息 如果有记录未找到 也返回错误 + //获取指定用户的信息 如有userID未找到 也返回错误 Find(ctx context.Context, userIDs []string) (users []*relation2.UserModel, err error) - //插入 - Create(ctx context.Context, users []*relation2.UserModel) error - //更新 + //插入多条 外部保证userID 不重复 且在db中不存在 + Create(ctx context.Context, users []*relation2.UserModel) (err error) + //更新(非零值) 外部保证userID存在 Update(ctx context.Context, users []*relation2.UserModel) (err error) - //更新带零值的 + //更新(零值) 外部保证userID存在 UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) - //通过名字搜索 - GetByName(ctx context.Context, userName string, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) - //通过名字和id搜索 - GetByNameAndID(ctx context.Context, content string, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) - //获取,如果没找到,不不返回错误 - Get(ctx context.Context, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) + //获取,如果没找到,不返回错误 + Get(ctx context.Context, pageNumber, showNumber int32) (users []*relation2.UserModel, count int64, err error) //userIDs是否存在 只要有一个存在就为true IsExist(ctx context.Context, userIDs []string) (exist bool, err error) } @@ -45,20 +41,12 @@ func (u *UserController) UpdateByMap(ctx context.Context, userID string, args ma return u.database.UpdateByMap(ctx, userID, args) } -func (u *UserController) GetByName(ctx context.Context, userName string, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) { - return u.database.GetByName(ctx, userName, showNumber, pageNumber) -} - -func (u *UserController) GetByNameAndID(ctx context.Context, content string, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) { - return u.database.GetByNameAndID(ctx, content, showNumber, pageNumber) -} - -func (u *UserController) Get(ctx context.Context, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) { - return u.database.Get(ctx, showNumber, pageNumber) +func (u *UserController) Get(ctx context.Context, pageNumber, showNumber int32) (users []*relation2.UserModel, count int64, err error) { + return u.database.Get(ctx, pageNumber, showNumber) } func (u *UserController) IsExist(ctx context.Context, userIDs []string) (exist bool, err error) { - return u.IsExist(ctx, userIDs) + return u.database.IsExist(ctx, userIDs) } func NewUserController(db *gorm.DB) *UserController { controller := &UserController{database: newUserDatabase(db)} @@ -70,27 +58,25 @@ type UserDatabaseInterface interface { Create(ctx context.Context, users []*relation2.UserModel) error Update(ctx context.Context, users []*relation2.UserModel) (err error) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) - GetByName(ctx context.Context, userName string, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) - GetByNameAndID(ctx context.Context, content string, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) - Get(ctx context.Context, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) + Get(ctx context.Context, pageNumber, showNumber int32) (users []*relation2.UserModel, count int64, err error) IsExist(ctx context.Context, userIDs []string) (exist bool, err error) } type UserDatabase struct { - sqlDB *relation.UserGorm + user *relation.UserGorm } func newUserDatabase(db *gorm.DB) *UserDatabase { sqlDB := relation.NewUserGorm(db) database := &UserDatabase{ - sqlDB: sqlDB, + user: sqlDB, } return database } -// 获取指定用户的信息 如果有记录未找到 也返回错误 +// 获取指定用户的信息 如有userID未找到 也返回错误 func (u *UserDatabase) Find(ctx context.Context, userIDs []string) (users []*relation2.UserModel, err error) { - users, err = u.sqlDB.Find(ctx, userIDs) + users, err = u.user.Find(ctx, userIDs) if err != nil { return } @@ -100,33 +86,31 @@ func (u *UserDatabase) Find(ctx context.Context, userIDs []string) (users []*rel return } +// 插入多条 外部保证userID 不重复 且在db中不存在 func (u *UserDatabase) Create(ctx context.Context, users []*relation2.UserModel) (err error) { - return u.sqlDB.Create(ctx, users) + return u.user.Create(ctx, users) } +// 更新(非零值) 外部保证userID存在 func (u *UserDatabase) Update(ctx context.Context, users []*relation2.UserModel) (err error) { - return u.sqlDB.Update(ctx, users) + return u.user.Update(ctx, users) } + +// 更新(零值) 外部保证userID存在 func (u *UserDatabase) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) { - return u.sqlDB.UpdateByMap(ctx, userID, args) -} -func (u *UserDatabase) GetByName(ctx context.Context, userName string, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) { - return u.sqlDB.GetByName(ctx, userName, showNumber, pageNumber) -} -func (u *UserDatabase) GetByNameAndID(ctx context.Context, content string, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) { - return u.sqlDB.GetByNameAndID(ctx, content, showNumber, pageNumber) + return u.user.UpdateByMap(ctx, userID, args) } // 获取,如果没找到,不返回错误 func (u *UserDatabase) Get(ctx context.Context, showNumber, pageNumber int32) (users []*relation2.UserModel, count int64, err error) { - return u.sqlDB.Get(ctx, showNumber, pageNumber) + return u.user.Get(ctx, showNumber, pageNumber) } // userIDs是否存在 只要有一个存在就为true func (u *UserDatabase) IsExist(ctx context.Context, userIDs []string) (exist bool, err error) { - users, err := u.sqlDB.Find(ctx, userIDs) + users, err := u.user.Find(ctx, userIDs) if err != nil { - return + return false, err } if len(users) > 0 { return true, nil diff --git a/pkg/common/db/relation/friend_model_k.go b/pkg/common/db/relation/friend_model_k.go index 03c642cc4..d88d4c6b1 100644 --- a/pkg/common/db/relation/friend_model_k.go +++ b/pkg/common/db/relation/friend_model_k.go @@ -30,105 +30,106 @@ type FriendUser struct { Nickname string `gorm:"column:name;size:255"` } +// 插入多条记录 func (f *FriendGorm) Create(ctx context.Context, friends []*relation.FriendModel, tx ...*gorm.DB) (err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "friends", friends) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "friends", friends) }() - return utils.Wrap(getDBConn(f.DB, tx).Model(&table.FriendModel{}).Create(&friends).Error, "") + return utils.Wrap(getDBConn(f.DB, tx).Create(&friends).Error, "") } -func (f *FriendGorm) Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error) { +// 删除ownerUserID指定的好友 +func (f *FriendGorm) Delete(ctx context.Context, ownerUserID string, friendUserIDs []string, tx ...*gorm.DB) (err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "ownerUserID", ownerUserID, "friendUserIDs", friendUserIDs) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "ownerUserID", ownerUserID, "friendUserIDs", friendUserIDs) }() - err = utils.Wrap(f.DB.Model(&table.FriendModel{}).Where("owner_user_id = ? and friend_user_id = ?", ownerUserID, friendUserIDs).Delete(&table.FriendModel{}).Error, "") + err = utils.Wrap(getDBConn(f.DB, tx).Where("owner_user_id = ? AND friend_user_id in ( ?)", ownerUserID, friendUserIDs).Delete(&relation.FriendModel{}).Error, "") return err } -func (f *FriendGorm) UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error) { +// 更新ownerUserID单个好友信息 更新零值 +func (f *FriendGorm) UpdateByMap(ctx context.Context, ownerUserID string, friendUserID string, args map[string]interface{}, tx ...*gorm.DB) (err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "ownerUserID", ownerUserID, "args", args) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "ownerUserID", ownerUserID, "friendUserID", friendUserID, "args", args) }() - return utils.Wrap(f.DB.Model(&table.FriendModel{}).Where("owner_user_id = ?", ownerUserID).Updates(args).Error, "") + return utils.Wrap(getDBConn(f.DB, tx).Model(&relation.FriendModel{}).Where("owner_user_id = ? AND friend_user_id = ? ", ownerUserID, friendUserID).Updates(args).Error, "") } +// 更新好友信息的非零值 func (f *FriendGorm) Update(ctx context.Context, friends []*relation.FriendModel, tx ...*gorm.DB) (err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "friends", friends) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "friends", friends) }() - return utils.Wrap(f.DB.Model(&table.FriendModel{}).Updates(&friends).Error, "") + return utils.Wrap(getDBConn(f.DB, tx).Updates(&friends).Error, "") } -func (f *FriendGorm) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) { +// 更新好友备注(也支持零值 ) +func (f *FriendGorm) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string, tx ...*gorm.DB) (err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "ownerUserID", ownerUserID, "friendUserID", friendUserID, "remark", remark) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "ownerUserID", ownerUserID, "friendUserID", friendUserID, "remark", remark) }() - return utils.Wrap(f.DB.Model(&table.FriendModel{}).Where("owner_user_id = ? and friend_user_id = ?", ownerUserID, friendUserID).Update("remark", remark).Error, "") + if remark != "" { + return utils.Wrap(getDBConn(f.DB, tx).Model(&relation.FriendModel{}).Where("owner_user_id = ? and friend_user_id = ?", ownerUserID, friendUserID).Update("remark", remark).Error, "") + } + m := make(map[string]interface{}, 1) + m["remark"] = "" + return utils.Wrap(getDBConn(f.DB, tx).Model(&relation.FriendModel{}).Where("owner_user_id = ?", ownerUserID).Updates(m).Error, "") + } -func (f *FriendGorm) FindOwnerUserID(ctx context.Context, ownerUserID string) (friends []*relation.FriendModel, err error) { +// 获取单个好友信息,如没找到 返回错误 +func (f *FriendGorm) Take(ctx context.Context, ownerUserID, friendUserID string, tx ...*gorm.DB) (friend *relation.FriendModel, err error) { + friend = &relation.FriendModel{} + defer tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "ownerUserID", ownerUserID, "friendUserID", friendUserID, "friend", *friend) + return friend, utils.Wrap(getDBConn(f.DB, tx).Where("owner_user_id = ? and friend_user_id", ownerUserID, friendUserID).Take(friend).Error, "") +} + +// 查找好友关系,如果是双向关系,则都返回 +func (f *FriendGorm) FindUserState(ctx context.Context, userID1, userID2 string, tx ...*gorm.DB) (friends []*relation.FriendModel, err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "ownerUserID", ownerUserID, "friends", friends) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userID1", userID1, "userID2", userID2, "friends", friends) }() - return friends, utils.Wrap(f.DB.Model(&table.FriendModel{}).Where("owner_user_id = ?", ownerUserID).Find(&friends).Error, "") + return friends, utils.Wrap(getDBConn(f.DB, tx).Where("(owner_user_id = ? and friend_user_id = ?) or (owner_user_id = ? and friend_user_id = ?)", userID1, userID2, userID2, userID1).Find(&friends).Error, "") } -func (f *FriendGorm) FindFriendUserID(ctx context.Context, friendUserID string) (friends []*relation.FriendModel, err error) { - defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "friendUserID", friendUserID, "friends", friends) - }() - return friends, utils.Wrap(f.DB.Model(&table.FriendModel{}).Where("friend_user_id = ?", friendUserID).Find(&friends).Error, "") -} - -func (f *FriendGorm) Take(ctx context.Context, ownerUserID, friendUserID string) (friend *relation.FriendModel, err error) { - friend = &table.FriendModel{} - defer tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "ownerUserID", ownerUserID, "friendUserID", friendUserID, "friend", friend) - return friend, utils.Wrap(f.DB.Model(&table.FriendModel{}).Where("owner_user_id = ? and friend_user_id", ownerUserID, friendUserID).Take(friend).Error, "") -} - -func (f *FriendGorm) FindUserState(ctx context.Context, userID1, userID2 string) (friends []*relation.FriendModel, err error) { - defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "userID1", userID1, "userID2", userID2) - }() - return friends, utils.Wrap(f.DB.Model(&table.FriendModel{}).Where("(owner_user_id = ? and friend_user_id = ?) or (owner_user_id = ? and friend_user_id = ?)", userID1, userID2, userID2, userID1).Find(&friends).Error, "") -} - -// 获取 owner的好友列表 如果不存在也不返回错误 +// 获取 owner指定的好友列表 如果有friendUserIDs不存在,也不返回错误 func (f *FriendGorm) FindFriends(ctx context.Context, ownerUserID string, friendUserIDs []string, tx ...*gorm.DB) (friends []*relation.FriendModel, err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "friendUserIDs", friendUserIDs, "friends", friends) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "ownerUserID", ownerUserID, "friendUserIDs", friendUserIDs, "friends", friends) }() return friends, utils.Wrap(getDBConn(f.DB, tx).Where("owner_user_id = ? AND friend_user_id in (?)", ownerUserID, friendUserIDs).Find(&friends).Error, "") } -// 获取哪些人添加了friendUserID 如果不存在也不返回错误 +// 获取哪些人添加了friendUserID 如果有ownerUserIDs不存在,也不返回错误 func (f *FriendGorm) FindReversalFriends(ctx context.Context, friendUserID string, ownerUserIDs []string, tx ...*gorm.DB) (friends []*relation.FriendModel, err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "friendUserID", friendUserID, "friends", friends) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "friendUserID", friendUserID, "ownerUserIDs", ownerUserIDs, "friends", friends) }() return friends, utils.Wrap(getDBConn(f.DB, tx).Where("friend_user_id = ? AND owner_user_id in (?)", friendUserID, ownerUserIDs).Find(&friends).Error, "") } +// 获取ownerUserID好友列表 支持翻页 func (f *FriendGorm) FindOwnerFriends(ctx context.Context, ownerUserID string, pageNumber, showNumber int32, tx ...*gorm.DB) (friends []*relation.FriendModel, total int64, err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "ownerUserID", ownerUserID, "pageNumber", pageNumber, "showNumber", showNumber, "friends", friends, "total", total) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "ownerUserID", ownerUserID, "pageNumber", pageNumber, "showNumber", showNumber, "friends", friends, "total", total) }() - err = getDBConn(f.DB, tx).Model(f).Where("owner_user_id = ? ", ownerUserID).Count(&total).Error + err = getDBConn(f.DB, tx).Model(&relation.FriendModel{}).Where("owner_user_id = ? ", ownerUserID).Count(&total).Error if err != nil { return nil, 0, utils.Wrap(err, "") } - err = utils.Wrap(getDBConn(f.DB, tx).Model(f).Where("owner_user_id = ? ", ownerUserID).Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&friends).Error, "") + err = utils.Wrap(getDBConn(f.DB, tx).Where("owner_user_id = ? ", ownerUserID).Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&friends).Error, "") return } +// 获取哪些人添加了friendUserID 支持翻页 func (f *FriendGorm) FindInWhoseFriends(ctx context.Context, friendUserID string, pageNumber, showNumber int32, tx ...*gorm.DB) (friends []*relation.FriendModel, total int64, err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "friendUserID", friendUserID, "pageNumber", pageNumber, "showNumber", showNumber, "friends", friends, "total", total) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "friendUserID", friendUserID, "pageNumber", pageNumber, "showNumber", showNumber, "friends", friends, "total", total) }() - err = getDBConn(f.DB, tx).Model(f).Where("friend_user_id = ? ", friendUserID).Count(&total).Error + err = getDBConn(f.DB, tx).Model(&relation.FriendModel{}).Where("friend_user_id = ? ", friendUserID).Count(&total).Error if err != nil { return nil, 0, utils.Wrap(err, "") } - err = utils.Wrap(getDBConn(f.DB, tx).Model(f).Where("friend_user_id = ? ", friendUserID).Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&friends).Error, "") + err = utils.Wrap(getDBConn(f.DB, tx).Where("friend_user_id = ? ", friendUserID).Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&friends).Error, "") return } diff --git a/pkg/common/db/relation/friend_request_model.go b/pkg/common/db/relation/friend_request_model.go index 9a2fa3365..b17017cbc 100644 --- a/pkg/common/db/relation/friend_request_model.go +++ b/pkg/common/db/relation/friend_request_model.go @@ -20,68 +20,80 @@ type FriendRequestGorm struct { DB *gorm.DB `gorm:"-"` } -func (f *FriendRequestGorm) Create(ctx context.Context, friends []*relation.FriendRequestModel, tx ...*gorm.DB) (err error) { +// 插入多条记录 +func (f *FriendRequestGorm) Create(ctx context.Context, friendRequests []*relation.FriendRequestModel, tx ...*gorm.DB) (err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "friends", friends) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "friendRequests", friendRequests) }() - return utils.Wrap(f.DB.Model(&relation.FriendRequestModel{}).Create(&friends).Error, "") + return utils.Wrap(getDBConn(f.DB, tx).Create(&friendRequests).Error, "") } -func (f *FriendRequestGorm) Delete(ctx context.Context, fromUserID, toUserID string) (err error) { +// 删除记录 +func (f *FriendRequestGorm) Delete(ctx context.Context, fromUserID, toUserID string, tx ...*gorm.DB) (err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "fromUserID", fromUserID, "toUserID", toUserID) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "fromUserID", fromUserID, "toUserID", toUserID) }() - return utils.Wrap(f.DB.Model(&relation.FriendRequestModel{}).Where("from_user_id = ? and to_user_id = ?", fromUserID, toUserID).Delete(&relation.FriendRequestModel{}).Error, "") + return utils.Wrap(getDBConn(f.DB, tx).Where("from_user_id = ? AND to_user_id = ?", fromUserID, toUserID).Delete(&relation.FriendRequestModel{}).Error, "") } +// 更新零值 func (f *FriendRequestGorm) UpdateByMap(ctx context.Context, formUserID string, toUserID string, args map[string]interface{}, tx ...*gorm.DB) (err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "formUserID", formUserID, "toUserID", toUserID, "args", args) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "formUserID", formUserID, "toUserID", toUserID, "args", args) }() return utils.Wrap(getDBConn(f.DB, tx).Model(&relation.FriendRequestModel{}).Where("from_user_id = ? AND to_user_id ", formUserID, toUserID).Updates(args).Error, "") } +// 更新多条记录 (非零值) func (f *FriendRequestGorm) Update(ctx context.Context, friendRequests []*relation.FriendRequestModel, tx ...*gorm.DB) (err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "friendRequests", friendRequests) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "friendRequests", friendRequests) }() - return utils.Wrap(getDBConn(f.DB, tx).Model(&relation.FriendRequestModel{}).Updates(&friendRequests).Error, "") + return utils.Wrap(getDBConn(f.DB, tx).Updates(&friendRequests).Error, "") } -func (f *FriendRequestGorm) Take(ctx context.Context, fromUserID, toUserID string) (friend *relation.FriendRequestModel, err error) { - friend = &relation.FriendRequestModel{} - defer tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "fromUserID", fromUserID, "toUserID", toUserID, "friend", friend) - return friend, utils.Wrap(f.DB.Model(&relation.FriendRequestModel{}).Where("from_user_id = ? and to_user_id", fromUserID, toUserID).Take(friend).Error, "") -} - -func (f *FriendRequestGorm) Find(ctx context.Context, fromUserID, toUserID string, tx ...*gorm.DB) (friend *relation.FriendRequestModel, err error) { - friend = &relation.FriendRequestModel{} - defer tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "fromUserID", fromUserID, "toUserID", toUserID, "friend", friend) - return friend, utils.Wrap(getDBConn(f.DB, tx).Model(&relation.FriendRequestModel{}).Where("from_user_id = ? and to_user_id", fromUserID, toUserID).Find(friend).Error, "") -} - -func (f *FriendRequestGorm) FindToUserID(ctx context.Context, toUserID string, pageNumber, showNumber int32, tx ...*gorm.DB) (friends []*relation.FriendRequestModel, total int64, err error) { +// 获取来指定用户的好友申请 未找到 不返回错误 +func (f *FriendRequestGorm) Find(ctx context.Context, fromUserID, toUserID string, tx ...*gorm.DB) (friendRequest *relation.FriendRequestModel, err error) { + friendRequest = &relation.FriendRequestModel{} defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "toUserID", toUserID, "friends", friends) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "fromUserID", fromUserID, "toUserID", toUserID, "friendRequest", *friendRequest) + }() + utils.Wrap(getDBConn(f.DB, tx).Where("from_user_id = ? and to_user_id", fromUserID, toUserID).Find(friendRequest).Error, "") + return +} + +func (f *FriendRequestGorm) Take(ctx context.Context, fromUserID, toUserID string, tx ...*gorm.DB) (friendRequest *relation.FriendRequestModel, err error) { + friendRequest = &relation.FriendRequestModel{} + defer func() { + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "fromUserID", fromUserID, "toUserID", toUserID, "friendRequest", *friendRequest) + }() + utils.Wrap(getDBConn(f.DB, tx).Where("from_user_id = ? and to_user_id", fromUserID, toUserID).Take(friendRequest).Error, "") + return +} + +// 获取toUserID收到的好友申请列表 +func (f *FriendRequestGorm) FindToUserID(ctx context.Context, toUserID string, pageNumber, showNumber int32, tx ...*gorm.DB) (friendRequests []*relation.FriendRequestModel, total int64, err error) { + defer func() { + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "toUserID", toUserID, "friendRequests", friendRequests) }() err = getDBConn(f.DB, tx).Model(&relation.FriendRequestModel{}).Where("to_user_id = ? ", toUserID).Count(&total).Error if err != nil { return nil, 0, utils.Wrap(err, "") } - err = utils.Wrap(getDBConn(f.DB, tx).Model(&relation.FriendRequestModel{}).Where("to_user_id = ? ", toUserID).Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&friends).Error, "") + err = utils.Wrap(getDBConn(f.DB, tx).Where("to_user_id = ? ", toUserID).Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&friendRequests).Error, "") return } -func (f *FriendRequestGorm) FindFromUserID(ctx context.Context, fromUserID string, pageNumber, showNumber int32, tx ...*gorm.DB) (friends []*relation.FriendRequestModel, total int64, err error) { +// 获取fromUserID发出去的好友申请列表 +func (f *FriendRequestGorm) FindFromUserID(ctx context.Context, fromUserID string, pageNumber, showNumber int32, tx ...*gorm.DB) (friendRequests []*relation.FriendRequestModel, total int64, err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "fromUserID", fromUserID, "friends", friends) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "fromUserID", fromUserID, "friendRequests", friendRequests) }() - err = getDBConn(f.DB, tx).Model(&relation.FriendRequestModel{}).Where("from_user_id = ? ", fromUserID).Count(&total).Error if err != nil { return nil, 0, utils.Wrap(err, "") } - err = utils.Wrap(getDBConn(f.DB, tx).Model(&relation.FriendRequestModel{}).Where("from_user_id = ? ", fromUserID).Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&friends).Error, "") + err = utils.Wrap(getDBConn(f.DB, tx).Where("from_user_id = ? ", fromUserID).Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&friendRequests).Error, "") return } diff --git a/pkg/common/db/relation/user_model_k.go b/pkg/common/db/relation/user_model_k.go index 72a850044..b8ed1a252 100644 --- a/pkg/common/db/relation/user_model_k.go +++ b/pkg/common/db/relation/user_model_k.go @@ -19,75 +19,84 @@ func NewUserGorm(db *gorm.DB) *UserGorm { return &user } +// 插入多条 func (u *UserGorm) Create(ctx context.Context, users []*relation.UserModel, tx ...*gorm.DB) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "users", users) }() - return utils.Wrap(getDBConn(u.DB, tx).Model(&relation.UserModel{}).Create(&users).Error, "") + return utils.Wrap(getDBConn(u.DB, tx).Create(&users).Error, "") } -func (u *UserGorm) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) { +// 更新用户信息 零值 +func (u *UserGorm) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}, tx ...*gorm.DB) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userID", userID, "args", args) }() - return utils.Wrap(u.DB.Model(&relation.UserModel{}).Where("user_id = ?", userID).Updates(args).Error, "") + return utils.Wrap(getDBConn(u.DB, tx).Model(&relation.UserModel{}).Where("user_id = ?", userID).Updates(args).Error, "") } -func (u *UserGorm) Update(ctx context.Context, users []*relation.UserModel) (err error) { +// 更新多个用户信息 非零值 +func (u *UserGorm) Update(ctx context.Context, users []*relation.UserModel, tx ...*gorm.DB) (err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "users", users) }() - return utils.Wrap(u.DB.Model(&relation.UserModel{}).Updates(&users).Error, "") + return utils.Wrap(getDBConn(u.DB, tx).Updates(&users).Error, "") } -func (u *UserGorm) Find(ctx context.Context, userIDs []string) (users []*relation.UserModel, err error) { +// 获取指定用户信息 不存在,也不返回错误 +func (u *UserGorm) Find(ctx context.Context, userIDs []string, tx ...*gorm.DB) (users []*relation.UserModel, err error) { defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userIDs", userIDs, "users", users) }() - err = utils.Wrap(u.DB.Model(&relation.UserModel{}).Where("user_id in (?)", userIDs).Find(&users).Error, "") + err = utils.Wrap(getDBConn(u.DB, tx).Where("user_id in (?)", userIDs).Find(&users).Error, "") return users, err } -func (u *UserGorm) Take(ctx context.Context, userID string) (user *relation.UserModel, err error) { +// 获取某个用户信息 不存在,则返回错误 +func (u *UserGorm) Take(ctx context.Context, userID string, tx ...*gorm.DB) (user *relation.UserModel, err error) { user = &relation.UserModel{} defer func() { tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userID", userID, "user", *user) }() - err = utils.Wrap(u.DB.Model(&relation.UserModel{}).Where("user_id = ?", userID).Take(&user).Error, "") + err = utils.Wrap(getDBConn(u.DB, tx).Where("user_id = ?", userID).Take(&user).Error, "") return user, err } -func (u *UserGorm) GetByName(ctx context.Context, userName string, showNumber, pageNumber int32) (users []*relation.UserModel, count int64, err error) { +// 通过名字查找用户 不存在,不返回错误 +func (u *UserGorm) GetByName(ctx context.Context, userName string, pageNumber, showNumber int32, tx ...*gorm.DB) (users []*relation.UserModel, count int64, err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userName", userName, "showNumber", showNumber, "pageNumber", pageNumber, "users", users, "count", count) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userName", userName, "pageNumber", pageNumber, "showNumber", showNumber, "users", users, "count", count) }() - err = u.DB.Model(&relation.UserModel{}).Where(" name like ?", fmt.Sprintf("%%%s%%", userName)).Limit(int(showNumber)).Offset(int(showNumber * pageNumber)).Find(&users).Error + err = utils.Wrap(getDBConn(u.DB, tx).Model(&relation.UserModel{}).Where(" name like ?", fmt.Sprintf("%%%s%%", userName)).Count(&count).Error, "") if err != nil { - return nil, 0, utils.Wrap(err, "") + return } - return users, count, utils.Wrap(u.DB.Model(&relation.UserModel{}).Where(" name like ? ", fmt.Sprintf("%%%s%%", userName)).Count(&count).Error, "") + err = utils.Wrap(getDBConn(u.DB, tx).Model(&relation.UserModel{}).Where(" name like ?", fmt.Sprintf("%%%s%%", userName)).Limit(int(showNumber)).Offset(int(showNumber*pageNumber)).Find(&users).Error, "") + return } -func (u *UserGorm) GetByNameAndID(ctx context.Context, content string, showNumber, pageNumber int32) (users []*relation.UserModel, count int64, err error) { +// 通过名字或userID查找用户 不存在,不返回错误 +func (u *UserGorm) GetByNameAndID(ctx context.Context, content string, pageNumber, showNumber int32, tx ...*gorm.DB) (users []*relation.UserModel, count int64, err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "content", content, "showNumber", showNumber, "pageNumber", pageNumber, "users", users) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "content", content, "pageNumber", pageNumber, "showNumber", showNumber, "users", users, "count", count) }() - db := u.DB.Model(&relation.UserModel{}).Where(" name like ? or user_id = ? ", fmt.Sprintf("%%%s%%", content), content) - if err := db.Model(&relation.UserModel{}).Count(&count).Error; err != nil { - return nil, 0, utils.Wrap(err, "") + db := getDBConn(u.DB, tx).Model(&relation.UserModel{}).Where(" name like ? or user_id = ? ", fmt.Sprintf("%%%s%%", content), content) + if err = db.Count(&count).Error; err != nil { + return } err = utils.Wrap(db.Limit(int(showNumber)).Offset(int(showNumber*pageNumber)).Find(&users).Error, "") return } -func (u *UserGorm) Get(ctx context.Context, showNumber, pageNumber int32) (users []*relation.UserModel, count int64, err error) { +// 获取用户信息 不存在,不返回错误 +func (u *UserGorm) Get(ctx context.Context, pageNumber, showNumber int32, tx ...*gorm.DB) (users []*relation.UserModel, count int64, err error) { defer func() { - tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "showNumber", showNumber, "pageNumber", pageNumber, "users", users, "count", count) + tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "pageNumber", pageNumber, "showNumber", showNumber, "users", users, "count", count) }() - err = u.DB.Model(&relation.UserModel{}).Model(u).Count(&count).Error + err = utils.Wrap(getDBConn(u.DB, tx).Model(&relation.UserModel{}).Count(&count).Error, "") if err != nil { - return nil, 0, utils.Wrap(err, "") + return } - err = utils.Wrap(u.DB.Model(&relation.UserModel{}).Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&users).Error, "") + err = utils.Wrap(getDBConn(u.DB, tx).Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&users).Error, "") return } diff --git a/pkg/common/db/table/relation/friend.go b/pkg/common/db/table/relation/friend.go index 9c487c7ba..de00f7747 100644 --- a/pkg/common/db/table/relation/friend.go +++ b/pkg/common/db/table/relation/friend.go @@ -10,7 +10,7 @@ type FriendModel struct { OwnerUserID string `gorm:"column:owner_user_id;primary_key;size:64"` FriendUserID string `gorm:"column:friend_user_id;primary_key;size:64"` Remark string `gorm:"column:remark;size:255"` - CreateTime time.Time `gorm:"column:create_time"` + CreateTime time.Time `gorm:"column:create_time;autoCreateTime"` AddSource int32 `gorm:"column:add_source"` OperatorUserID string `gorm:"column:operator_user_id;size:64"` Ex string `gorm:"column:ex;size:1024"` diff --git a/pkg/common/db/table/relation/friend_request.go b/pkg/common/db/table/relation/friend_request.go index 715848a56..8a4ea2805 100644 --- a/pkg/common/db/table/relation/friend_request.go +++ b/pkg/common/db/table/relation/friend_request.go @@ -9,7 +9,7 @@ type FriendRequestModel struct { ToUserID string `gorm:"column:to_user_id;primary_key;size:64"` HandleResult int32 `gorm:"column:handle_result"` ReqMsg string `gorm:"column:req_msg;size:255"` - CreateTime time.Time `gorm:"column:create_time"` + CreateTime time.Time `gorm:"column:create_time; autoCreateTime"` HandlerUserID string `gorm:"column:handler_user_id;size:64"` HandleMsg string `gorm:"column:handle_msg;size:255"` HandleTime time.Time `gorm:"column:handle_time"` diff --git a/pkg/common/db/table/relation/user.go b/pkg/common/db/table/relation/user.go index 0009f4b86..2dd119e13 100644 --- a/pkg/common/db/table/relation/user.go +++ b/pkg/common/db/table/relation/user.go @@ -11,11 +11,12 @@ type UserModel struct { Nickname string `gorm:"column:name;size:255"` FaceURL string `gorm:"column:face_url;size:255"` Gender int32 `gorm:"column:gender"` + AreaCode string `gorm:"column:area_code;size:8" json:"areaCode"` PhoneNumber string `gorm:"column:phone_number;size:32"` Birth time.Time `gorm:"column:birth"` Email string `gorm:"column:email;size:64"` Ex string `gorm:"column:ex;size:1024"` - CreateTime time.Time `gorm:"column:create_time;index:create_time"` + CreateTime time.Time `gorm:"column:create_time;index:create_time; autoCreateTime"` AppMangerLevel int32 `gorm:"column:app_manger_level"` GlobalRecvMsgOpt int32 `gorm:"column:global_recv_msg_opt"` } diff --git a/pkg/proto/friend/friend.pb.go b/pkg/proto/friend/friend.pb.go index 03289db2b..33999ee33 100644 --- a/pkg/proto/friend/friend.pb.go +++ b/pkg/proto/friend/friend.pb.go @@ -24,7 +24,7 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package -type GetFriendsInfoReq struct { +type GetPaginationFriendsReq struct { OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"` FriendUserIDs []string `protobuf:"bytes,2,rep,name=friendUserIDs" json:"friendUserIDs,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -32,83 +32,83 @@ type GetFriendsInfoReq struct { XXX_sizecache int32 `json:"-"` } -func (m *GetFriendsInfoReq) Reset() { *m = GetFriendsInfoReq{} } -func (m *GetFriendsInfoReq) String() string { return proto.CompactTextString(m) } -func (*GetFriendsInfoReq) ProtoMessage() {} -func (*GetFriendsInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{0} +func (m *GetPaginationFriendsReq) Reset() { *m = GetPaginationFriendsReq{} } +func (m *GetPaginationFriendsReq) String() string { return proto.CompactTextString(m) } +func (*GetPaginationFriendsReq) ProtoMessage() {} +func (*GetPaginationFriendsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_friend_b44dbd852f0b513f, []int{0} } -func (m *GetFriendsInfoReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetFriendsInfoReq.Unmarshal(m, b) +func (m *GetPaginationFriendsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetPaginationFriendsReq.Unmarshal(m, b) } -func (m *GetFriendsInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetFriendsInfoReq.Marshal(b, m, deterministic) +func (m *GetPaginationFriendsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetPaginationFriendsReq.Marshal(b, m, deterministic) } -func (dst *GetFriendsInfoReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetFriendsInfoReq.Merge(dst, src) +func (dst *GetPaginationFriendsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPaginationFriendsReq.Merge(dst, src) } -func (m *GetFriendsInfoReq) XXX_Size() int { - return xxx_messageInfo_GetFriendsInfoReq.Size(m) +func (m *GetPaginationFriendsReq) XXX_Size() int { + return xxx_messageInfo_GetPaginationFriendsReq.Size(m) } -func (m *GetFriendsInfoReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetFriendsInfoReq.DiscardUnknown(m) +func (m *GetPaginationFriendsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetPaginationFriendsReq.DiscardUnknown(m) } -var xxx_messageInfo_GetFriendsInfoReq proto.InternalMessageInfo +var xxx_messageInfo_GetPaginationFriendsReq proto.InternalMessageInfo -func (m *GetFriendsInfoReq) GetOwnerUserID() string { +func (m *GetPaginationFriendsReq) GetOwnerUserID() string { if m != nil { return m.OwnerUserID } return "" } -func (m *GetFriendsInfoReq) GetFriendUserIDs() []string { +func (m *GetPaginationFriendsReq) GetFriendUserIDs() []string { if m != nil { return m.FriendUserIDs } return nil } -type GetFriendsInfoResp struct { +type GetPaginationFriendsResp struct { FriendsInfo []*sdk_ws.FriendInfo `protobuf:"bytes,1,rep,name=friendsInfo" json:"friendsInfo,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *GetFriendsInfoResp) Reset() { *m = GetFriendsInfoResp{} } -func (m *GetFriendsInfoResp) String() string { return proto.CompactTextString(m) } -func (*GetFriendsInfoResp) ProtoMessage() {} -func (*GetFriendsInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{1} +func (m *GetPaginationFriendsResp) Reset() { *m = GetPaginationFriendsResp{} } +func (m *GetPaginationFriendsResp) String() string { return proto.CompactTextString(m) } +func (*GetPaginationFriendsResp) ProtoMessage() {} +func (*GetPaginationFriendsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_friend_b44dbd852f0b513f, []int{1} } -func (m *GetFriendsInfoResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetFriendsInfoResp.Unmarshal(m, b) +func (m *GetPaginationFriendsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetPaginationFriendsResp.Unmarshal(m, b) } -func (m *GetFriendsInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetFriendsInfoResp.Marshal(b, m, deterministic) +func (m *GetPaginationFriendsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetPaginationFriendsResp.Marshal(b, m, deterministic) } -func (dst *GetFriendsInfoResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetFriendsInfoResp.Merge(dst, src) +func (dst *GetPaginationFriendsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPaginationFriendsResp.Merge(dst, src) } -func (m *GetFriendsInfoResp) XXX_Size() int { - return xxx_messageInfo_GetFriendsInfoResp.Size(m) +func (m *GetPaginationFriendsResp) XXX_Size() int { + return xxx_messageInfo_GetPaginationFriendsResp.Size(m) } -func (m *GetFriendsInfoResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetFriendsInfoResp.DiscardUnknown(m) +func (m *GetPaginationFriendsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetPaginationFriendsResp.DiscardUnknown(m) } -var xxx_messageInfo_GetFriendsInfoResp proto.InternalMessageInfo +var xxx_messageInfo_GetPaginationFriendsResp proto.InternalMessageInfo -func (m *GetFriendsInfoResp) GetFriendsInfo() []*sdk_ws.FriendInfo { +func (m *GetPaginationFriendsResp) GetFriendsInfo() []*sdk_ws.FriendInfo { if m != nil { return m.FriendsInfo } return nil } -type AddFriendReq struct { +type ApplyToAddFriendReq struct { FromUserID string `protobuf:"bytes,1,opt,name=fromUserID" json:"fromUserID,omitempty"` ToUserID string `protobuf:"bytes,2,opt,name=toUserID" json:"toUserID,omitempty"` ReqMsg string `protobuf:"bytes,3,opt,name=reqMsg" json:"reqMsg,omitempty"` @@ -118,87 +118,87 @@ type AddFriendReq struct { XXX_sizecache int32 `json:"-"` } -func (m *AddFriendReq) Reset() { *m = AddFriendReq{} } -func (m *AddFriendReq) String() string { return proto.CompactTextString(m) } -func (*AddFriendReq) ProtoMessage() {} -func (*AddFriendReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{2} +func (m *ApplyToAddFriendReq) Reset() { *m = ApplyToAddFriendReq{} } +func (m *ApplyToAddFriendReq) String() string { return proto.CompactTextString(m) } +func (*ApplyToAddFriendReq) ProtoMessage() {} +func (*ApplyToAddFriendReq) Descriptor() ([]byte, []int) { + return fileDescriptor_friend_b44dbd852f0b513f, []int{2} } -func (m *AddFriendReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddFriendReq.Unmarshal(m, b) +func (m *ApplyToAddFriendReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplyToAddFriendReq.Unmarshal(m, b) } -func (m *AddFriendReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddFriendReq.Marshal(b, m, deterministic) +func (m *ApplyToAddFriendReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplyToAddFriendReq.Marshal(b, m, deterministic) } -func (dst *AddFriendReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddFriendReq.Merge(dst, src) +func (dst *ApplyToAddFriendReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplyToAddFriendReq.Merge(dst, src) } -func (m *AddFriendReq) XXX_Size() int { - return xxx_messageInfo_AddFriendReq.Size(m) +func (m *ApplyToAddFriendReq) XXX_Size() int { + return xxx_messageInfo_ApplyToAddFriendReq.Size(m) } -func (m *AddFriendReq) XXX_DiscardUnknown() { - xxx_messageInfo_AddFriendReq.DiscardUnknown(m) +func (m *ApplyToAddFriendReq) XXX_DiscardUnknown() { + xxx_messageInfo_ApplyToAddFriendReq.DiscardUnknown(m) } -var xxx_messageInfo_AddFriendReq proto.InternalMessageInfo +var xxx_messageInfo_ApplyToAddFriendReq proto.InternalMessageInfo -func (m *AddFriendReq) GetFromUserID() string { +func (m *ApplyToAddFriendReq) GetFromUserID() string { if m != nil { return m.FromUserID } return "" } -func (m *AddFriendReq) GetToUserID() string { +func (m *ApplyToAddFriendReq) GetToUserID() string { if m != nil { return m.ToUserID } return "" } -func (m *AddFriendReq) GetReqMsg() string { +func (m *ApplyToAddFriendReq) GetReqMsg() string { if m != nil { return m.ReqMsg } return "" } -func (m *AddFriendReq) GetEx() string { +func (m *ApplyToAddFriendReq) GetEx() string { if m != nil { return m.Ex } return "" } -type AddFriendResp struct { +type ApplyToAddFriendResp struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *AddFriendResp) Reset() { *m = AddFriendResp{} } -func (m *AddFriendResp) String() string { return proto.CompactTextString(m) } -func (*AddFriendResp) ProtoMessage() {} -func (*AddFriendResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{3} +func (m *ApplyToAddFriendResp) Reset() { *m = ApplyToAddFriendResp{} } +func (m *ApplyToAddFriendResp) String() string { return proto.CompactTextString(m) } +func (*ApplyToAddFriendResp) ProtoMessage() {} +func (*ApplyToAddFriendResp) Descriptor() ([]byte, []int) { + return fileDescriptor_friend_b44dbd852f0b513f, []int{3} } -func (m *AddFriendResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddFriendResp.Unmarshal(m, b) +func (m *ApplyToAddFriendResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplyToAddFriendResp.Unmarshal(m, b) } -func (m *AddFriendResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddFriendResp.Marshal(b, m, deterministic) +func (m *ApplyToAddFriendResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplyToAddFriendResp.Marshal(b, m, deterministic) } -func (dst *AddFriendResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddFriendResp.Merge(dst, src) +func (dst *ApplyToAddFriendResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplyToAddFriendResp.Merge(dst, src) } -func (m *AddFriendResp) XXX_Size() int { - return xxx_messageInfo_AddFriendResp.Size(m) +func (m *ApplyToAddFriendResp) XXX_Size() int { + return xxx_messageInfo_ApplyToAddFriendResp.Size(m) } -func (m *AddFriendResp) XXX_DiscardUnknown() { - xxx_messageInfo_AddFriendResp.DiscardUnknown(m) +func (m *ApplyToAddFriendResp) XXX_DiscardUnknown() { + xxx_messageInfo_ApplyToAddFriendResp.DiscardUnknown(m) } -var xxx_messageInfo_AddFriendResp proto.InternalMessageInfo +var xxx_messageInfo_ApplyToAddFriendResp proto.InternalMessageInfo type ImportFriendReq struct { OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"` @@ -212,7 +212,7 @@ func (m *ImportFriendReq) Reset() { *m = ImportFriendReq{} } func (m *ImportFriendReq) String() string { return proto.CompactTextString(m) } func (*ImportFriendReq) ProtoMessage() {} func (*ImportFriendReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{4} + return fileDescriptor_friend_b44dbd852f0b513f, []int{4} } func (m *ImportFriendReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ImportFriendReq.Unmarshal(m, b) @@ -256,7 +256,7 @@ func (m *ImportFriendResp) Reset() { *m = ImportFriendResp{} } func (m *ImportFriendResp) String() string { return proto.CompactTextString(m) } func (*ImportFriendResp) ProtoMessage() {} func (*ImportFriendResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{5} + return fileDescriptor_friend_b44dbd852f0b513f, []int{5} } func (m *ImportFriendResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ImportFriendResp.Unmarshal(m, b) @@ -276,7 +276,7 @@ func (m *ImportFriendResp) XXX_DiscardUnknown() { var xxx_messageInfo_ImportFriendResp proto.InternalMessageInfo -type GetToFriendsApplyReq struct { +type GetPaginationFriendsApplyToReq struct { UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -284,45 +284,45 @@ type GetToFriendsApplyReq struct { XXX_sizecache int32 `json:"-"` } -func (m *GetToFriendsApplyReq) Reset() { *m = GetToFriendsApplyReq{} } -func (m *GetToFriendsApplyReq) String() string { return proto.CompactTextString(m) } -func (*GetToFriendsApplyReq) ProtoMessage() {} -func (*GetToFriendsApplyReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{6} +func (m *GetPaginationFriendsApplyToReq) Reset() { *m = GetPaginationFriendsApplyToReq{} } +func (m *GetPaginationFriendsApplyToReq) String() string { return proto.CompactTextString(m) } +func (*GetPaginationFriendsApplyToReq) ProtoMessage() {} +func (*GetPaginationFriendsApplyToReq) Descriptor() ([]byte, []int) { + return fileDescriptor_friend_b44dbd852f0b513f, []int{6} } -func (m *GetToFriendsApplyReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetToFriendsApplyReq.Unmarshal(m, b) +func (m *GetPaginationFriendsApplyToReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetPaginationFriendsApplyToReq.Unmarshal(m, b) } -func (m *GetToFriendsApplyReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetToFriendsApplyReq.Marshal(b, m, deterministic) +func (m *GetPaginationFriendsApplyToReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetPaginationFriendsApplyToReq.Marshal(b, m, deterministic) } -func (dst *GetToFriendsApplyReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetToFriendsApplyReq.Merge(dst, src) +func (dst *GetPaginationFriendsApplyToReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPaginationFriendsApplyToReq.Merge(dst, src) } -func (m *GetToFriendsApplyReq) XXX_Size() int { - return xxx_messageInfo_GetToFriendsApplyReq.Size(m) +func (m *GetPaginationFriendsApplyToReq) XXX_Size() int { + return xxx_messageInfo_GetPaginationFriendsApplyToReq.Size(m) } -func (m *GetToFriendsApplyReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetToFriendsApplyReq.DiscardUnknown(m) +func (m *GetPaginationFriendsApplyToReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetPaginationFriendsApplyToReq.DiscardUnknown(m) } -var xxx_messageInfo_GetToFriendsApplyReq proto.InternalMessageInfo +var xxx_messageInfo_GetPaginationFriendsApplyToReq proto.InternalMessageInfo -func (m *GetToFriendsApplyReq) GetUserID() string { +func (m *GetPaginationFriendsApplyToReq) GetUserID() string { if m != nil { return m.UserID } return "" } -func (m *GetToFriendsApplyReq) GetPagination() *sdk_ws.RequestPagination { +func (m *GetPaginationFriendsApplyToReq) GetPagination() *sdk_ws.RequestPagination { if m != nil { return m.Pagination } return nil } -type GetToFriendsApplyResp struct { +type GetPaginationFriendsApplyToResp struct { FriendRequests []*sdk_ws.FriendRequest `protobuf:"bytes,1,rep,name=FriendRequests" json:"FriendRequests,omitempty"` Total int32 `protobuf:"varint,2,opt,name=total" json:"total,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -330,45 +330,45 @@ type GetToFriendsApplyResp struct { XXX_sizecache int32 `json:"-"` } -func (m *GetToFriendsApplyResp) Reset() { *m = GetToFriendsApplyResp{} } -func (m *GetToFriendsApplyResp) String() string { return proto.CompactTextString(m) } -func (*GetToFriendsApplyResp) ProtoMessage() {} -func (*GetToFriendsApplyResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{7} +func (m *GetPaginationFriendsApplyToResp) Reset() { *m = GetPaginationFriendsApplyToResp{} } +func (m *GetPaginationFriendsApplyToResp) String() string { return proto.CompactTextString(m) } +func (*GetPaginationFriendsApplyToResp) ProtoMessage() {} +func (*GetPaginationFriendsApplyToResp) Descriptor() ([]byte, []int) { + return fileDescriptor_friend_b44dbd852f0b513f, []int{7} } -func (m *GetToFriendsApplyResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetToFriendsApplyResp.Unmarshal(m, b) +func (m *GetPaginationFriendsApplyToResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetPaginationFriendsApplyToResp.Unmarshal(m, b) } -func (m *GetToFriendsApplyResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetToFriendsApplyResp.Marshal(b, m, deterministic) +func (m *GetPaginationFriendsApplyToResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetPaginationFriendsApplyToResp.Marshal(b, m, deterministic) } -func (dst *GetToFriendsApplyResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetToFriendsApplyResp.Merge(dst, src) +func (dst *GetPaginationFriendsApplyToResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPaginationFriendsApplyToResp.Merge(dst, src) } -func (m *GetToFriendsApplyResp) XXX_Size() int { - return xxx_messageInfo_GetToFriendsApplyResp.Size(m) +func (m *GetPaginationFriendsApplyToResp) XXX_Size() int { + return xxx_messageInfo_GetPaginationFriendsApplyToResp.Size(m) } -func (m *GetToFriendsApplyResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetToFriendsApplyResp.DiscardUnknown(m) +func (m *GetPaginationFriendsApplyToResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetPaginationFriendsApplyToResp.DiscardUnknown(m) } -var xxx_messageInfo_GetToFriendsApplyResp proto.InternalMessageInfo +var xxx_messageInfo_GetPaginationFriendsApplyToResp proto.InternalMessageInfo -func (m *GetToFriendsApplyResp) GetFriendRequests() []*sdk_ws.FriendRequest { +func (m *GetPaginationFriendsApplyToResp) GetFriendRequests() []*sdk_ws.FriendRequest { if m != nil { return m.FriendRequests } return nil } -func (m *GetToFriendsApplyResp) GetTotal() int32 { +func (m *GetPaginationFriendsApplyToResp) GetTotal() int32 { if m != nil { return m.Total } return 0 } -type GetFriendsReq struct { +type GetDesignatedFriendsReq struct { Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=pagination" json:"pagination,omitempty"` UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -376,45 +376,45 @@ type GetFriendsReq struct { XXX_sizecache int32 `json:"-"` } -func (m *GetFriendsReq) Reset() { *m = GetFriendsReq{} } -func (m *GetFriendsReq) String() string { return proto.CompactTextString(m) } -func (*GetFriendsReq) ProtoMessage() {} -func (*GetFriendsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{8} +func (m *GetDesignatedFriendsReq) Reset() { *m = GetDesignatedFriendsReq{} } +func (m *GetDesignatedFriendsReq) String() string { return proto.CompactTextString(m) } +func (*GetDesignatedFriendsReq) ProtoMessage() {} +func (*GetDesignatedFriendsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_friend_b44dbd852f0b513f, []int{8} } -func (m *GetFriendsReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetFriendsReq.Unmarshal(m, b) +func (m *GetDesignatedFriendsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetDesignatedFriendsReq.Unmarshal(m, b) } -func (m *GetFriendsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetFriendsReq.Marshal(b, m, deterministic) +func (m *GetDesignatedFriendsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetDesignatedFriendsReq.Marshal(b, m, deterministic) } -func (dst *GetFriendsReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetFriendsReq.Merge(dst, src) +func (dst *GetDesignatedFriendsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetDesignatedFriendsReq.Merge(dst, src) } -func (m *GetFriendsReq) XXX_Size() int { - return xxx_messageInfo_GetFriendsReq.Size(m) +func (m *GetDesignatedFriendsReq) XXX_Size() int { + return xxx_messageInfo_GetDesignatedFriendsReq.Size(m) } -func (m *GetFriendsReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetFriendsReq.DiscardUnknown(m) +func (m *GetDesignatedFriendsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetDesignatedFriendsReq.DiscardUnknown(m) } -var xxx_messageInfo_GetFriendsReq proto.InternalMessageInfo +var xxx_messageInfo_GetDesignatedFriendsReq proto.InternalMessageInfo -func (m *GetFriendsReq) GetPagination() *sdk_ws.RequestPagination { +func (m *GetDesignatedFriendsReq) GetPagination() *sdk_ws.RequestPagination { if m != nil { return m.Pagination } return nil } -func (m *GetFriendsReq) GetUserID() string { +func (m *GetDesignatedFriendsReq) GetUserID() string { if m != nil { return m.UserID } return "" } -type GetFriendsResp struct { +type GetDesignatedFriendsResp struct { FriendsInfo []*sdk_ws.FriendInfo `protobuf:"bytes,1,rep,name=FriendsInfo" json:"FriendsInfo,omitempty"` Total int32 `protobuf:"varint,2,opt,name=total" json:"total,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -422,38 +422,38 @@ type GetFriendsResp struct { XXX_sizecache int32 `json:"-"` } -func (m *GetFriendsResp) Reset() { *m = GetFriendsResp{} } -func (m *GetFriendsResp) String() string { return proto.CompactTextString(m) } -func (*GetFriendsResp) ProtoMessage() {} -func (*GetFriendsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{9} +func (m *GetDesignatedFriendsResp) Reset() { *m = GetDesignatedFriendsResp{} } +func (m *GetDesignatedFriendsResp) String() string { return proto.CompactTextString(m) } +func (*GetDesignatedFriendsResp) ProtoMessage() {} +func (*GetDesignatedFriendsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_friend_b44dbd852f0b513f, []int{9} } -func (m *GetFriendsResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetFriendsResp.Unmarshal(m, b) +func (m *GetDesignatedFriendsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetDesignatedFriendsResp.Unmarshal(m, b) } -func (m *GetFriendsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetFriendsResp.Marshal(b, m, deterministic) +func (m *GetDesignatedFriendsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetDesignatedFriendsResp.Marshal(b, m, deterministic) } -func (dst *GetFriendsResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetFriendsResp.Merge(dst, src) +func (dst *GetDesignatedFriendsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetDesignatedFriendsResp.Merge(dst, src) } -func (m *GetFriendsResp) XXX_Size() int { - return xxx_messageInfo_GetFriendsResp.Size(m) +func (m *GetDesignatedFriendsResp) XXX_Size() int { + return xxx_messageInfo_GetDesignatedFriendsResp.Size(m) } -func (m *GetFriendsResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetFriendsResp.DiscardUnknown(m) +func (m *GetDesignatedFriendsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetDesignatedFriendsResp.DiscardUnknown(m) } -var xxx_messageInfo_GetFriendsResp proto.InternalMessageInfo +var xxx_messageInfo_GetDesignatedFriendsResp proto.InternalMessageInfo -func (m *GetFriendsResp) GetFriendsInfo() []*sdk_ws.FriendInfo { +func (m *GetDesignatedFriendsResp) GetFriendsInfo() []*sdk_ws.FriendInfo { if m != nil { return m.FriendsInfo } return nil } -func (m *GetFriendsResp) GetTotal() int32 { +func (m *GetDesignatedFriendsResp) GetTotal() int32 { if m != nil { return m.Total } @@ -472,7 +472,7 @@ func (m *AddBlackReq) Reset() { *m = AddBlackReq{} } func (m *AddBlackReq) String() string { return proto.CompactTextString(m) } func (*AddBlackReq) ProtoMessage() {} func (*AddBlackReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{10} + return fileDescriptor_friend_b44dbd852f0b513f, []int{10} } func (m *AddBlackReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddBlackReq.Unmarshal(m, b) @@ -516,7 +516,7 @@ func (m *AddBlackResp) Reset() { *m = AddBlackResp{} } func (m *AddBlackResp) String() string { return proto.CompactTextString(m) } func (*AddBlackResp) ProtoMessage() {} func (*AddBlackResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{11} + return fileDescriptor_friend_b44dbd852f0b513f, []int{11} } func (m *AddBlackResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddBlackResp.Unmarshal(m, b) @@ -548,7 +548,7 @@ func (m *RemoveBlackReq) Reset() { *m = RemoveBlackReq{} } func (m *RemoveBlackReq) String() string { return proto.CompactTextString(m) } func (*RemoveBlackReq) ProtoMessage() {} func (*RemoveBlackReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{12} + return fileDescriptor_friend_b44dbd852f0b513f, []int{12} } func (m *RemoveBlackReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RemoveBlackReq.Unmarshal(m, b) @@ -592,7 +592,7 @@ func (m *RemoveBlackResp) Reset() { *m = RemoveBlackResp{} } func (m *RemoveBlackResp) String() string { return proto.CompactTextString(m) } func (*RemoveBlackResp) ProtoMessage() {} func (*RemoveBlackResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{13} + return fileDescriptor_friend_b44dbd852f0b513f, []int{13} } func (m *RemoveBlackResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RemoveBlackResp.Unmarshal(m, b) @@ -612,7 +612,7 @@ func (m *RemoveBlackResp) XXX_DiscardUnknown() { var xxx_messageInfo_RemoveBlackResp proto.InternalMessageInfo -type GetBlacksReq struct { +type GetPaginationBlacksReq struct { UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -620,45 +620,45 @@ type GetBlacksReq struct { XXX_sizecache int32 `json:"-"` } -func (m *GetBlacksReq) Reset() { *m = GetBlacksReq{} } -func (m *GetBlacksReq) String() string { return proto.CompactTextString(m) } -func (*GetBlacksReq) ProtoMessage() {} -func (*GetBlacksReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{14} +func (m *GetPaginationBlacksReq) Reset() { *m = GetPaginationBlacksReq{} } +func (m *GetPaginationBlacksReq) String() string { return proto.CompactTextString(m) } +func (*GetPaginationBlacksReq) ProtoMessage() {} +func (*GetPaginationBlacksReq) Descriptor() ([]byte, []int) { + return fileDescriptor_friend_b44dbd852f0b513f, []int{14} } -func (m *GetBlacksReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetBlacksReq.Unmarshal(m, b) +func (m *GetPaginationBlacksReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetPaginationBlacksReq.Unmarshal(m, b) } -func (m *GetBlacksReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetBlacksReq.Marshal(b, m, deterministic) +func (m *GetPaginationBlacksReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetPaginationBlacksReq.Marshal(b, m, deterministic) } -func (dst *GetBlacksReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetBlacksReq.Merge(dst, src) +func (dst *GetPaginationBlacksReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPaginationBlacksReq.Merge(dst, src) } -func (m *GetBlacksReq) XXX_Size() int { - return xxx_messageInfo_GetBlacksReq.Size(m) +func (m *GetPaginationBlacksReq) XXX_Size() int { + return xxx_messageInfo_GetPaginationBlacksReq.Size(m) } -func (m *GetBlacksReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetBlacksReq.DiscardUnknown(m) +func (m *GetPaginationBlacksReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetPaginationBlacksReq.DiscardUnknown(m) } -var xxx_messageInfo_GetBlacksReq proto.InternalMessageInfo +var xxx_messageInfo_GetPaginationBlacksReq proto.InternalMessageInfo -func (m *GetBlacksReq) GetUserID() string { +func (m *GetPaginationBlacksReq) GetUserID() string { if m != nil { return m.UserID } return "" } -func (m *GetBlacksReq) GetPagination() *sdk_ws.RequestPagination { +func (m *GetPaginationBlacksReq) GetPagination() *sdk_ws.RequestPagination { if m != nil { return m.Pagination } return nil } -type GetBlacksResp struct { +type GetPaginationBlacksResp struct { Blacks []*sdk_ws.BlackInfo `protobuf:"bytes,1,rep,name=blacks" json:"blacks,omitempty"` Total int32 `protobuf:"varint,2,opt,name=total" json:"total,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -666,38 +666,38 @@ type GetBlacksResp struct { XXX_sizecache int32 `json:"-"` } -func (m *GetBlacksResp) Reset() { *m = GetBlacksResp{} } -func (m *GetBlacksResp) String() string { return proto.CompactTextString(m) } -func (*GetBlacksResp) ProtoMessage() {} -func (*GetBlacksResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{15} +func (m *GetPaginationBlacksResp) Reset() { *m = GetPaginationBlacksResp{} } +func (m *GetPaginationBlacksResp) String() string { return proto.CompactTextString(m) } +func (*GetPaginationBlacksResp) ProtoMessage() {} +func (*GetPaginationBlacksResp) Descriptor() ([]byte, []int) { + return fileDescriptor_friend_b44dbd852f0b513f, []int{15} } -func (m *GetBlacksResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetBlacksResp.Unmarshal(m, b) +func (m *GetPaginationBlacksResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetPaginationBlacksResp.Unmarshal(m, b) } -func (m *GetBlacksResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetBlacksResp.Marshal(b, m, deterministic) +func (m *GetPaginationBlacksResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetPaginationBlacksResp.Marshal(b, m, deterministic) } -func (dst *GetBlacksResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetBlacksResp.Merge(dst, src) +func (dst *GetPaginationBlacksResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPaginationBlacksResp.Merge(dst, src) } -func (m *GetBlacksResp) XXX_Size() int { - return xxx_messageInfo_GetBlacksResp.Size(m) +func (m *GetPaginationBlacksResp) XXX_Size() int { + return xxx_messageInfo_GetPaginationBlacksResp.Size(m) } -func (m *GetBlacksResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetBlacksResp.DiscardUnknown(m) +func (m *GetPaginationBlacksResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetPaginationBlacksResp.DiscardUnknown(m) } -var xxx_messageInfo_GetBlacksResp proto.InternalMessageInfo +var xxx_messageInfo_GetPaginationBlacksResp proto.InternalMessageInfo -func (m *GetBlacksResp) GetBlacks() []*sdk_ws.BlackInfo { +func (m *GetPaginationBlacksResp) GetBlacks() []*sdk_ws.BlackInfo { if m != nil { return m.Blacks } return nil } -func (m *GetBlacksResp) GetTotal() int32 { +func (m *GetPaginationBlacksResp) GetTotal() int32 { if m != nil { return m.Total } @@ -716,7 +716,7 @@ func (m *IsFriendReq) Reset() { *m = IsFriendReq{} } func (m *IsFriendReq) String() string { return proto.CompactTextString(m) } func (*IsFriendReq) ProtoMessage() {} func (*IsFriendReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{16} + return fileDescriptor_friend_b44dbd852f0b513f, []int{16} } func (m *IsFriendReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_IsFriendReq.Unmarshal(m, b) @@ -762,7 +762,7 @@ func (m *IsFriendResp) Reset() { *m = IsFriendResp{} } func (m *IsFriendResp) String() string { return proto.CompactTextString(m) } func (*IsFriendResp) ProtoMessage() {} func (*IsFriendResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{17} + return fileDescriptor_friend_b44dbd852f0b513f, []int{17} } func (m *IsFriendResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_IsFriendResp.Unmarshal(m, b) @@ -808,7 +808,7 @@ func (m *IsBlackReq) Reset() { *m = IsBlackReq{} } func (m *IsBlackReq) String() string { return proto.CompactTextString(m) } func (*IsBlackReq) ProtoMessage() {} func (*IsBlackReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{18} + return fileDescriptor_friend_b44dbd852f0b513f, []int{18} } func (m *IsBlackReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_IsBlackReq.Unmarshal(m, b) @@ -854,7 +854,7 @@ func (m *IsBlackResp) Reset() { *m = IsBlackResp{} } func (m *IsBlackResp) String() string { return proto.CompactTextString(m) } func (*IsBlackResp) ProtoMessage() {} func (*IsBlackResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{19} + return fileDescriptor_friend_b44dbd852f0b513f, []int{19} } func (m *IsBlackResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_IsBlackResp.Unmarshal(m, b) @@ -900,7 +900,7 @@ func (m *DeleteFriendReq) Reset() { *m = DeleteFriendReq{} } func (m *DeleteFriendReq) String() string { return proto.CompactTextString(m) } func (*DeleteFriendReq) ProtoMessage() {} func (*DeleteFriendReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{20} + return fileDescriptor_friend_b44dbd852f0b513f, []int{20} } func (m *DeleteFriendReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteFriendReq.Unmarshal(m, b) @@ -944,7 +944,7 @@ func (m *DeleteFriendResp) Reset() { *m = DeleteFriendResp{} } func (m *DeleteFriendResp) String() string { return proto.CompactTextString(m) } func (*DeleteFriendResp) ProtoMessage() {} func (*DeleteFriendResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{21} + return fileDescriptor_friend_b44dbd852f0b513f, []int{21} } func (m *DeleteFriendResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteFriendResp.Unmarshal(m, b) @@ -979,7 +979,7 @@ func (m *RespondFriendApplyReq) Reset() { *m = RespondFriendApplyReq{} } func (m *RespondFriendApplyReq) String() string { return proto.CompactTextString(m) } func (*RespondFriendApplyReq) ProtoMessage() {} func (*RespondFriendApplyReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{22} + return fileDescriptor_friend_b44dbd852f0b513f, []int{22} } func (m *RespondFriendApplyReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RespondFriendApplyReq.Unmarshal(m, b) @@ -1037,7 +1037,7 @@ func (m *RespondFriendApplyResp) Reset() { *m = RespondFriendApplyResp{} func (m *RespondFriendApplyResp) String() string { return proto.CompactTextString(m) } func (*RespondFriendApplyResp) ProtoMessage() {} func (*RespondFriendApplyResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{23} + return fileDescriptor_friend_b44dbd852f0b513f, []int{23} } func (m *RespondFriendApplyResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RespondFriendApplyResp.Unmarshal(m, b) @@ -1070,7 +1070,7 @@ func (m *SetFriendRemarkReq) Reset() { *m = SetFriendRemarkReq{} } func (m *SetFriendRemarkReq) String() string { return proto.CompactTextString(m) } func (*SetFriendRemarkReq) ProtoMessage() {} func (*SetFriendRemarkReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{24} + return fileDescriptor_friend_b44dbd852f0b513f, []int{24} } func (m *SetFriendRemarkReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetFriendRemarkReq.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *SetFriendRemarkResp) Reset() { *m = SetFriendRemarkResp{} } func (m *SetFriendRemarkResp) String() string { return proto.CompactTextString(m) } func (*SetFriendRemarkResp) ProtoMessage() {} func (*SetFriendRemarkResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{25} + return fileDescriptor_friend_b44dbd852f0b513f, []int{25} } func (m *SetFriendRemarkResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetFriendRemarkResp.Unmarshal(m, b) @@ -1141,7 +1141,7 @@ func (m *SetFriendRemarkResp) XXX_DiscardUnknown() { var xxx_messageInfo_SetFriendRemarkResp proto.InternalMessageInfo -type GetFromFriendsApplyReq struct { +type GetPaginationFriendsApplyFromReq struct { UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -1149,45 +1149,45 @@ type GetFromFriendsApplyReq struct { XXX_sizecache int32 `json:"-"` } -func (m *GetFromFriendsApplyReq) Reset() { *m = GetFromFriendsApplyReq{} } -func (m *GetFromFriendsApplyReq) String() string { return proto.CompactTextString(m) } -func (*GetFromFriendsApplyReq) ProtoMessage() {} -func (*GetFromFriendsApplyReq) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{26} +func (m *GetPaginationFriendsApplyFromReq) Reset() { *m = GetPaginationFriendsApplyFromReq{} } +func (m *GetPaginationFriendsApplyFromReq) String() string { return proto.CompactTextString(m) } +func (*GetPaginationFriendsApplyFromReq) ProtoMessage() {} +func (*GetPaginationFriendsApplyFromReq) Descriptor() ([]byte, []int) { + return fileDescriptor_friend_b44dbd852f0b513f, []int{26} } -func (m *GetFromFriendsApplyReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetFromFriendsApplyReq.Unmarshal(m, b) +func (m *GetPaginationFriendsApplyFromReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetPaginationFriendsApplyFromReq.Unmarshal(m, b) } -func (m *GetFromFriendsApplyReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetFromFriendsApplyReq.Marshal(b, m, deterministic) +func (m *GetPaginationFriendsApplyFromReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetPaginationFriendsApplyFromReq.Marshal(b, m, deterministic) } -func (dst *GetFromFriendsApplyReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetFromFriendsApplyReq.Merge(dst, src) +func (dst *GetPaginationFriendsApplyFromReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPaginationFriendsApplyFromReq.Merge(dst, src) } -func (m *GetFromFriendsApplyReq) XXX_Size() int { - return xxx_messageInfo_GetFromFriendsApplyReq.Size(m) +func (m *GetPaginationFriendsApplyFromReq) XXX_Size() int { + return xxx_messageInfo_GetPaginationFriendsApplyFromReq.Size(m) } -func (m *GetFromFriendsApplyReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetFromFriendsApplyReq.DiscardUnknown(m) +func (m *GetPaginationFriendsApplyFromReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetPaginationFriendsApplyFromReq.DiscardUnknown(m) } -var xxx_messageInfo_GetFromFriendsApplyReq proto.InternalMessageInfo +var xxx_messageInfo_GetPaginationFriendsApplyFromReq proto.InternalMessageInfo -func (m *GetFromFriendsApplyReq) GetUserID() string { +func (m *GetPaginationFriendsApplyFromReq) GetUserID() string { if m != nil { return m.UserID } return "" } -func (m *GetFromFriendsApplyReq) GetPagination() *sdk_ws.RequestPagination { +func (m *GetPaginationFriendsApplyFromReq) GetPagination() *sdk_ws.RequestPagination { if m != nil { return m.Pagination } return nil } -type GetFromFriendsApplyResp struct { +type GetPaginationFriendsApplyFromResp struct { FriendRequests []*sdk_ws.FriendRequest `protobuf:"bytes,1,rep,name=friendRequests" json:"friendRequests,omitempty"` Total int32 `protobuf:"varint,2,opt,name=total" json:"total,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -1195,38 +1195,38 @@ type GetFromFriendsApplyResp struct { XXX_sizecache int32 `json:"-"` } -func (m *GetFromFriendsApplyResp) Reset() { *m = GetFromFriendsApplyResp{} } -func (m *GetFromFriendsApplyResp) String() string { return proto.CompactTextString(m) } -func (*GetFromFriendsApplyResp) ProtoMessage() {} -func (*GetFromFriendsApplyResp) Descriptor() ([]byte, []int) { - return fileDescriptor_friend_ae999c738a77e4f8, []int{27} +func (m *GetPaginationFriendsApplyFromResp) Reset() { *m = GetPaginationFriendsApplyFromResp{} } +func (m *GetPaginationFriendsApplyFromResp) String() string { return proto.CompactTextString(m) } +func (*GetPaginationFriendsApplyFromResp) ProtoMessage() {} +func (*GetPaginationFriendsApplyFromResp) Descriptor() ([]byte, []int) { + return fileDescriptor_friend_b44dbd852f0b513f, []int{27} } -func (m *GetFromFriendsApplyResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetFromFriendsApplyResp.Unmarshal(m, b) +func (m *GetPaginationFriendsApplyFromResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetPaginationFriendsApplyFromResp.Unmarshal(m, b) } -func (m *GetFromFriendsApplyResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetFromFriendsApplyResp.Marshal(b, m, deterministic) +func (m *GetPaginationFriendsApplyFromResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetPaginationFriendsApplyFromResp.Marshal(b, m, deterministic) } -func (dst *GetFromFriendsApplyResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetFromFriendsApplyResp.Merge(dst, src) +func (dst *GetPaginationFriendsApplyFromResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetPaginationFriendsApplyFromResp.Merge(dst, src) } -func (m *GetFromFriendsApplyResp) XXX_Size() int { - return xxx_messageInfo_GetFromFriendsApplyResp.Size(m) +func (m *GetPaginationFriendsApplyFromResp) XXX_Size() int { + return xxx_messageInfo_GetPaginationFriendsApplyFromResp.Size(m) } -func (m *GetFromFriendsApplyResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetFromFriendsApplyResp.DiscardUnknown(m) +func (m *GetPaginationFriendsApplyFromResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetPaginationFriendsApplyFromResp.DiscardUnknown(m) } -var xxx_messageInfo_GetFromFriendsApplyResp proto.InternalMessageInfo +var xxx_messageInfo_GetPaginationFriendsApplyFromResp proto.InternalMessageInfo -func (m *GetFromFriendsApplyResp) GetFriendRequests() []*sdk_ws.FriendRequest { +func (m *GetPaginationFriendsApplyFromResp) GetFriendRequests() []*sdk_ws.FriendRequest { if m != nil { return m.FriendRequests } return nil } -func (m *GetFromFriendsApplyResp) GetTotal() int32 { +func (m *GetPaginationFriendsApplyFromResp) GetTotal() int32 { if m != nil { return m.Total } @@ -1234,22 +1234,22 @@ func (m *GetFromFriendsApplyResp) GetTotal() int32 { } func init() { - proto.RegisterType((*GetFriendsInfoReq)(nil), "friend.getFriendsInfoReq") - proto.RegisterType((*GetFriendsInfoResp)(nil), "friend.getFriendsInfoResp") - proto.RegisterType((*AddFriendReq)(nil), "friend.addFriendReq") - proto.RegisterType((*AddFriendResp)(nil), "friend.addFriendResp") + proto.RegisterType((*GetPaginationFriendsReq)(nil), "friend.getPaginationFriendsReq") + proto.RegisterType((*GetPaginationFriendsResp)(nil), "friend.getPaginationFriendsResp") + proto.RegisterType((*ApplyToAddFriendReq)(nil), "friend.applyToAddFriendReq") + proto.RegisterType((*ApplyToAddFriendResp)(nil), "friend.applyToAddFriendResp") proto.RegisterType((*ImportFriendReq)(nil), "friend.importFriendReq") proto.RegisterType((*ImportFriendResp)(nil), "friend.importFriendResp") - proto.RegisterType((*GetToFriendsApplyReq)(nil), "friend.getToFriendsApplyReq") - proto.RegisterType((*GetToFriendsApplyResp)(nil), "friend.getToFriendsApplyResp") - proto.RegisterType((*GetFriendsReq)(nil), "friend.getFriendsReq") - proto.RegisterType((*GetFriendsResp)(nil), "friend.getFriendsResp") + proto.RegisterType((*GetPaginationFriendsApplyToReq)(nil), "friend.getPaginationFriendsApplyToReq") + proto.RegisterType((*GetPaginationFriendsApplyToResp)(nil), "friend.getPaginationFriendsApplyToResp") + proto.RegisterType((*GetDesignatedFriendsReq)(nil), "friend.getDesignatedFriendsReq") + proto.RegisterType((*GetDesignatedFriendsResp)(nil), "friend.getDesignatedFriendsResp") proto.RegisterType((*AddBlackReq)(nil), "friend.addBlackReq") proto.RegisterType((*AddBlackResp)(nil), "friend.addBlackResp") proto.RegisterType((*RemoveBlackReq)(nil), "friend.removeBlackReq") proto.RegisterType((*RemoveBlackResp)(nil), "friend.removeBlackResp") - proto.RegisterType((*GetBlacksReq)(nil), "friend.getBlacksReq") - proto.RegisterType((*GetBlacksResp)(nil), "friend.getBlacksResp") + proto.RegisterType((*GetPaginationBlacksReq)(nil), "friend.getPaginationBlacksReq") + proto.RegisterType((*GetPaginationBlacksResp)(nil), "friend.getPaginationBlacksResp") proto.RegisterType((*IsFriendReq)(nil), "friend.isFriendReq") proto.RegisterType((*IsFriendResp)(nil), "friend.isFriendResp") proto.RegisterType((*IsBlackReq)(nil), "friend.isBlackReq") @@ -1260,8 +1260,8 @@ func init() { proto.RegisterType((*RespondFriendApplyResp)(nil), "friend.respondFriendApplyResp") proto.RegisterType((*SetFriendRemarkReq)(nil), "friend.setFriendRemarkReq") proto.RegisterType((*SetFriendRemarkResp)(nil), "friend.setFriendRemarkResp") - proto.RegisterType((*GetFromFriendsApplyReq)(nil), "friend.getFromFriendsApplyReq") - proto.RegisterType((*GetFromFriendsApplyResp)(nil), "friend.getFromFriendsApplyResp") + proto.RegisterType((*GetPaginationFriendsApplyFromReq)(nil), "friend.getPaginationFriendsApplyFromReq") + proto.RegisterType((*GetPaginationFriendsApplyFromResp)(nil), "friend.getPaginationFriendsApplyFromResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -1276,13 +1276,11 @@ const _ = grpc.SupportPackageIsVersion4 type FriendClient interface { // 申请加好友 - AddFriend(ctx context.Context, in *AddFriendReq, opts ...grpc.CallOption) (*AddFriendResp, error) + ApplyToAddFriend(ctx context.Context, in *ApplyToAddFriendReq, opts ...grpc.CallOption) (*ApplyToAddFriendResp, error) // 获取收到的好友申请列表 - GetToFriendsApply(ctx context.Context, in *GetToFriendsApplyReq, opts ...grpc.CallOption) (*GetToFriendsApplyResp, error) + GetPaginationFriendsApplyTo(ctx context.Context, in *GetPaginationFriendsApplyToReq, opts ...grpc.CallOption) (*GetPaginationFriendsApplyToResp, error) // 获取主动发出去的好友申请列表 - GetFromFriendsApply(ctx context.Context, in *GetFromFriendsApplyReq, opts ...grpc.CallOption) (*GetFromFriendsApplyResp, error) - // 获取好友列表 - GetFriends(ctx context.Context, in *GetFriendsReq, opts ...grpc.CallOption) (*GetFriendsResp, error) + GetPaginationFriendsApplyFrom(ctx context.Context, in *GetPaginationFriendsApplyFromReq, opts ...grpc.CallOption) (*GetPaginationFriendsApplyFromResp, error) // 添加黑名单 AddBlack(ctx context.Context, in *AddBlackReq, opts ...grpc.CallOption) (*AddBlackResp, error) // 移除黑名单 @@ -1292,7 +1290,7 @@ type FriendClient interface { // 判断是否在黑名单中 IsBlack(ctx context.Context, in *IsBlackReq, opts ...grpc.CallOption) (*IsBlackResp, error) // 获取黑名单列表 - GetBlacks(ctx context.Context, in *GetBlacksReq, opts ...grpc.CallOption) (*GetBlacksResp, error) + GetPaginationBlacks(ctx context.Context, in *GetPaginationBlacksReq, opts ...grpc.CallOption) (*GetPaginationBlacksResp, error) // 删除好友 DeleteFriend(ctx context.Context, in *DeleteFriendReq, opts ...grpc.CallOption) (*DeleteFriendResp, error) // 对好友申请响应(同意或拒绝) @@ -1301,8 +1299,10 @@ type FriendClient interface { SetFriendRemark(ctx context.Context, in *SetFriendRemarkReq, opts ...grpc.CallOption) (*SetFriendRemarkResp, error) // 导入好友关系 ImportFriends(ctx context.Context, in *ImportFriendReq, opts ...grpc.CallOption) (*ImportFriendResp, error) - // 获取指定好友信息 - GetFriendsInfo(ctx context.Context, in *GetFriendsInfoReq, opts ...grpc.CallOption) (*GetFriendsInfoResp, error) + // 翻页获取好友列表 无结果不返回错误 + GetDesignatedFriends(ctx context.Context, in *GetDesignatedFriendsReq, opts ...grpc.CallOption) (*GetDesignatedFriendsResp, error) + // 获取指定好友信息 有id不存在也返回错误 + GetPaginationFriends(ctx context.Context, in *GetPaginationFriendsReq, opts ...grpc.CallOption) (*GetPaginationFriendsResp, error) } type friendClient struct { @@ -1313,36 +1313,27 @@ func NewFriendClient(cc *grpc.ClientConn) FriendClient { return &friendClient{cc} } -func (c *friendClient) AddFriend(ctx context.Context, in *AddFriendReq, opts ...grpc.CallOption) (*AddFriendResp, error) { - out := new(AddFriendResp) - err := grpc.Invoke(ctx, "/friend.friend/addFriend", in, out, c.cc, opts...) +func (c *friendClient) ApplyToAddFriend(ctx context.Context, in *ApplyToAddFriendReq, opts ...grpc.CallOption) (*ApplyToAddFriendResp, error) { + out := new(ApplyToAddFriendResp) + err := grpc.Invoke(ctx, "/friend.friend/applyToAddFriend", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *friendClient) GetToFriendsApply(ctx context.Context, in *GetToFriendsApplyReq, opts ...grpc.CallOption) (*GetToFriendsApplyResp, error) { - out := new(GetToFriendsApplyResp) - err := grpc.Invoke(ctx, "/friend.friend/getToFriendsApply", in, out, c.cc, opts...) +func (c *friendClient) GetPaginationFriendsApplyTo(ctx context.Context, in *GetPaginationFriendsApplyToReq, opts ...grpc.CallOption) (*GetPaginationFriendsApplyToResp, error) { + out := new(GetPaginationFriendsApplyToResp) + err := grpc.Invoke(ctx, "/friend.friend/getPaginationFriendsApplyTo", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *friendClient) GetFromFriendsApply(ctx context.Context, in *GetFromFriendsApplyReq, opts ...grpc.CallOption) (*GetFromFriendsApplyResp, error) { - out := new(GetFromFriendsApplyResp) - err := grpc.Invoke(ctx, "/friend.friend/getFromFriendsApply", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *friendClient) GetFriends(ctx context.Context, in *GetFriendsReq, opts ...grpc.CallOption) (*GetFriendsResp, error) { - out := new(GetFriendsResp) - err := grpc.Invoke(ctx, "/friend.friend/getFriends", in, out, c.cc, opts...) +func (c *friendClient) GetPaginationFriendsApplyFrom(ctx context.Context, in *GetPaginationFriendsApplyFromReq, opts ...grpc.CallOption) (*GetPaginationFriendsApplyFromResp, error) { + out := new(GetPaginationFriendsApplyFromResp) + err := grpc.Invoke(ctx, "/friend.friend/getPaginationFriendsApplyFrom", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -1385,9 +1376,9 @@ func (c *friendClient) IsBlack(ctx context.Context, in *IsBlackReq, opts ...grpc return out, nil } -func (c *friendClient) GetBlacks(ctx context.Context, in *GetBlacksReq, opts ...grpc.CallOption) (*GetBlacksResp, error) { - out := new(GetBlacksResp) - err := grpc.Invoke(ctx, "/friend.friend/getBlacks", in, out, c.cc, opts...) +func (c *friendClient) GetPaginationBlacks(ctx context.Context, in *GetPaginationBlacksReq, opts ...grpc.CallOption) (*GetPaginationBlacksResp, error) { + out := new(GetPaginationBlacksResp) + err := grpc.Invoke(ctx, "/friend.friend/getPaginationBlacks", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -1430,9 +1421,18 @@ func (c *friendClient) ImportFriends(ctx context.Context, in *ImportFriendReq, o return out, nil } -func (c *friendClient) GetFriendsInfo(ctx context.Context, in *GetFriendsInfoReq, opts ...grpc.CallOption) (*GetFriendsInfoResp, error) { - out := new(GetFriendsInfoResp) - err := grpc.Invoke(ctx, "/friend.friend/getFriendsInfo", in, out, c.cc, opts...) +func (c *friendClient) GetDesignatedFriends(ctx context.Context, in *GetDesignatedFriendsReq, opts ...grpc.CallOption) (*GetDesignatedFriendsResp, error) { + out := new(GetDesignatedFriendsResp) + err := grpc.Invoke(ctx, "/friend.friend/getDesignatedFriends", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *friendClient) GetPaginationFriends(ctx context.Context, in *GetPaginationFriendsReq, opts ...grpc.CallOption) (*GetPaginationFriendsResp, error) { + out := new(GetPaginationFriendsResp) + err := grpc.Invoke(ctx, "/friend.friend/getPaginationFriends", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -1443,13 +1443,11 @@ func (c *friendClient) GetFriendsInfo(ctx context.Context, in *GetFriendsInfoReq type FriendServer interface { // 申请加好友 - AddFriend(context.Context, *AddFriendReq) (*AddFriendResp, error) + ApplyToAddFriend(context.Context, *ApplyToAddFriendReq) (*ApplyToAddFriendResp, error) // 获取收到的好友申请列表 - GetToFriendsApply(context.Context, *GetToFriendsApplyReq) (*GetToFriendsApplyResp, error) + GetPaginationFriendsApplyTo(context.Context, *GetPaginationFriendsApplyToReq) (*GetPaginationFriendsApplyToResp, error) // 获取主动发出去的好友申请列表 - GetFromFriendsApply(context.Context, *GetFromFriendsApplyReq) (*GetFromFriendsApplyResp, error) - // 获取好友列表 - GetFriends(context.Context, *GetFriendsReq) (*GetFriendsResp, error) + GetPaginationFriendsApplyFrom(context.Context, *GetPaginationFriendsApplyFromReq) (*GetPaginationFriendsApplyFromResp, error) // 添加黑名单 AddBlack(context.Context, *AddBlackReq) (*AddBlackResp, error) // 移除黑名单 @@ -1459,7 +1457,7 @@ type FriendServer interface { // 判断是否在黑名单中 IsBlack(context.Context, *IsBlackReq) (*IsBlackResp, error) // 获取黑名单列表 - GetBlacks(context.Context, *GetBlacksReq) (*GetBlacksResp, error) + GetPaginationBlacks(context.Context, *GetPaginationBlacksReq) (*GetPaginationBlacksResp, error) // 删除好友 DeleteFriend(context.Context, *DeleteFriendReq) (*DeleteFriendResp, error) // 对好友申请响应(同意或拒绝) @@ -1468,82 +1466,66 @@ type FriendServer interface { SetFriendRemark(context.Context, *SetFriendRemarkReq) (*SetFriendRemarkResp, error) // 导入好友关系 ImportFriends(context.Context, *ImportFriendReq) (*ImportFriendResp, error) - // 获取指定好友信息 - GetFriendsInfo(context.Context, *GetFriendsInfoReq) (*GetFriendsInfoResp, error) + // 翻页获取好友列表 无结果不返回错误 + GetDesignatedFriends(context.Context, *GetDesignatedFriendsReq) (*GetDesignatedFriendsResp, error) + // 获取指定好友信息 有id不存在也返回错误 + GetPaginationFriends(context.Context, *GetPaginationFriendsReq) (*GetPaginationFriendsResp, error) } func RegisterFriendServer(s *grpc.Server, srv FriendServer) { s.RegisterService(&_Friend_serviceDesc, srv) } -func _Friend_AddFriend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddFriendReq) +func _Friend_ApplyToAddFriend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ApplyToAddFriendReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(FriendServer).AddFriend(ctx, in) + return srv.(FriendServer).ApplyToAddFriend(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/friend.friend/AddFriend", + FullMethod: "/friend.friend/ApplyToAddFriend", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(FriendServer).AddFriend(ctx, req.(*AddFriendReq)) + return srv.(FriendServer).ApplyToAddFriend(ctx, req.(*ApplyToAddFriendReq)) } return interceptor(ctx, in, info, handler) } -func _Friend_GetToFriendsApply_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetToFriendsApplyReq) +func _Friend_GetPaginationFriendsApplyTo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPaginationFriendsApplyToReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(FriendServer).GetToFriendsApply(ctx, in) + return srv.(FriendServer).GetPaginationFriendsApplyTo(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/friend.friend/GetToFriendsApply", + FullMethod: "/friend.friend/GetPaginationFriendsApplyTo", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(FriendServer).GetToFriendsApply(ctx, req.(*GetToFriendsApplyReq)) + return srv.(FriendServer).GetPaginationFriendsApplyTo(ctx, req.(*GetPaginationFriendsApplyToReq)) } return interceptor(ctx, in, info, handler) } -func _Friend_GetFromFriendsApply_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetFromFriendsApplyReq) +func _Friend_GetPaginationFriendsApplyFrom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPaginationFriendsApplyFromReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(FriendServer).GetFromFriendsApply(ctx, in) + return srv.(FriendServer).GetPaginationFriendsApplyFrom(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/friend.friend/GetFromFriendsApply", + FullMethod: "/friend.friend/GetPaginationFriendsApplyFrom", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(FriendServer).GetFromFriendsApply(ctx, req.(*GetFromFriendsApplyReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _Friend_GetFriends_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetFriendsReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(FriendServer).GetFriends(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/friend.friend/GetFriends", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(FriendServer).GetFriends(ctx, req.(*GetFriendsReq)) + return srv.(FriendServer).GetPaginationFriendsApplyFrom(ctx, req.(*GetPaginationFriendsApplyFromReq)) } return interceptor(ctx, in, info, handler) } @@ -1620,20 +1602,20 @@ func _Friend_IsBlack_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } -func _Friend_GetBlacks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetBlacksReq) +func _Friend_GetPaginationBlacks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPaginationBlacksReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(FriendServer).GetBlacks(ctx, in) + return srv.(FriendServer).GetPaginationBlacks(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/friend.friend/GetBlacks", + FullMethod: "/friend.friend/GetPaginationBlacks", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(FriendServer).GetBlacks(ctx, req.(*GetBlacksReq)) + return srv.(FriendServer).GetPaginationBlacks(ctx, req.(*GetPaginationBlacksReq)) } return interceptor(ctx, in, info, handler) } @@ -1710,20 +1692,38 @@ func _Friend_ImportFriends_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } -func _Friend_GetFriendsInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetFriendsInfoReq) +func _Friend_GetDesignatedFriends_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDesignatedFriendsReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(FriendServer).GetFriendsInfo(ctx, in) + return srv.(FriendServer).GetDesignatedFriends(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/friend.friend/GetFriendsInfo", + FullMethod: "/friend.friend/GetDesignatedFriends", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(FriendServer).GetFriendsInfo(ctx, req.(*GetFriendsInfoReq)) + return srv.(FriendServer).GetDesignatedFriends(ctx, req.(*GetDesignatedFriendsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Friend_GetPaginationFriends_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPaginationFriendsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FriendServer).GetPaginationFriends(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/friend.friend/GetPaginationFriends", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FriendServer).GetPaginationFriends(ctx, req.(*GetPaginationFriendsReq)) } return interceptor(ctx, in, info, handler) } @@ -1733,20 +1733,16 @@ var _Friend_serviceDesc = grpc.ServiceDesc{ HandlerType: (*FriendServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "addFriend", - Handler: _Friend_AddFriend_Handler, + MethodName: "applyToAddFriend", + Handler: _Friend_ApplyToAddFriend_Handler, }, { - MethodName: "getToFriendsApply", - Handler: _Friend_GetToFriendsApply_Handler, + MethodName: "getPaginationFriendsApplyTo", + Handler: _Friend_GetPaginationFriendsApplyTo_Handler, }, { - MethodName: "getFromFriendsApply", - Handler: _Friend_GetFromFriendsApply_Handler, - }, - { - MethodName: "getFriends", - Handler: _Friend_GetFriends_Handler, + MethodName: "getPaginationFriendsApplyFrom", + Handler: _Friend_GetPaginationFriendsApplyFrom_Handler, }, { MethodName: "addBlack", @@ -1765,8 +1761,8 @@ var _Friend_serviceDesc = grpc.ServiceDesc{ Handler: _Friend_IsBlack_Handler, }, { - MethodName: "getBlacks", - Handler: _Friend_GetBlacks_Handler, + MethodName: "getPaginationBlacks", + Handler: _Friend_GetPaginationBlacks_Handler, }, { MethodName: "deleteFriend", @@ -1785,76 +1781,81 @@ var _Friend_serviceDesc = grpc.ServiceDesc{ Handler: _Friend_ImportFriends_Handler, }, { - MethodName: "getFriendsInfo", - Handler: _Friend_GetFriendsInfo_Handler, + MethodName: "getDesignatedFriends", + Handler: _Friend_GetDesignatedFriends_Handler, + }, + { + MethodName: "getPaginationFriends", + Handler: _Friend_GetPaginationFriends_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "friend/friend.proto", } -func init() { proto.RegisterFile("friend/friend.proto", fileDescriptor_friend_ae999c738a77e4f8) } +func init() { proto.RegisterFile("friend/friend.proto", fileDescriptor_friend_b44dbd852f0b513f) } -var fileDescriptor_friend_ae999c738a77e4f8 = []byte{ - // 955 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xef, 0x6e, 0x1b, 0x45, - 0x10, 0x97, 0x1d, 0xe2, 0x24, 0x63, 0xc7, 0xa6, 0xe3, 0xd8, 0x3d, 0x8e, 0x24, 0x35, 0xab, 0x0a, - 0xe5, 0x4b, 0x63, 0xd5, 0x80, 0x84, 0x54, 0x09, 0x48, 0x54, 0x15, 0x82, 0x14, 0x51, 0xae, 0x2d, - 0xa8, 0x54, 0x22, 0xba, 0x72, 0x6b, 0x73, 0x8a, 0x7d, 0xb7, 0xb9, 0xb9, 0xc4, 0xed, 0x83, 0xf0, - 0x2a, 0x3c, 0x1f, 0xba, 0xdd, 0xbd, 0xdb, 0x3d, 0xfb, 0x1c, 0x35, 0x21, 0xf0, 0xc9, 0x9a, 0xdf, - 0xcc, 0xec, 0xfc, 0xd9, 0xf1, 0xfc, 0xf6, 0xa0, 0x3b, 0x4e, 0x42, 0x1e, 0x05, 0x43, 0xf5, 0x73, - 0x28, 0x92, 0x38, 0x8d, 0xb1, 0xa1, 0x24, 0xf7, 0xe0, 0x27, 0xc1, 0xa3, 0x47, 0x27, 0xa7, 0x8f, - 0x5e, 0xf0, 0xe4, 0x8a, 0x27, 0x43, 0x71, 0x3e, 0x19, 0x4a, 0x8b, 0x21, 0x05, 0xe7, 0x67, 0x73, - 0x1a, 0xce, 0x49, 0x79, 0xb0, 0x37, 0x70, 0x6f, 0xc2, 0xd3, 0x67, 0xd2, 0x8d, 0x4e, 0xa2, 0x71, - 0xec, 0xf1, 0x0b, 0x1c, 0x40, 0x33, 0x9e, 0x47, 0x3c, 0x79, 0x45, 0x3c, 0x39, 0x79, 0xea, 0xd4, - 0x06, 0xb5, 0x83, 0x2d, 0xcf, 0x86, 0xf0, 0x21, 0x6c, 0xab, 0x50, 0x4a, 0x26, 0xa7, 0x3e, 0x58, - 0x3b, 0xd8, 0xf2, 0xca, 0x20, 0x7b, 0x05, 0xb8, 0x78, 0x38, 0x09, 0xfc, 0x16, 0x9a, 0x63, 0x03, - 0x39, 0xb5, 0xc1, 0xda, 0x41, 0x73, 0xb4, 0x77, 0x48, 0x32, 0xd5, 0x33, 0x5f, 0x84, 0x67, 0xc2, - 0x4f, 0xfc, 0x19, 0x1d, 0x2a, 0x47, 0xe9, 0x67, 0x7b, 0xb0, 0x04, 0x5a, 0x7e, 0x10, 0x28, 0x6d, - 0x96, 0xee, 0x3e, 0xc0, 0x38, 0x89, 0x67, 0xa5, 0x6c, 0x2d, 0x04, 0x5d, 0xd8, 0x4c, 0x63, 0xad, - 0xad, 0x4b, 0x6d, 0x21, 0x63, 0x1f, 0x1a, 0x09, 0xbf, 0x38, 0xa5, 0x89, 0xb3, 0x26, 0x35, 0x5a, - 0xc2, 0x36, 0xd4, 0xf9, 0x3b, 0xe7, 0x23, 0x89, 0xd5, 0xf9, 0x3b, 0xd6, 0x81, 0x6d, 0x2b, 0x26, - 0x09, 0xf6, 0x1a, 0x3a, 0xe1, 0x4c, 0xc4, 0x49, 0x6a, 0xf2, 0xb8, 0xab, 0xb6, 0x21, 0x7c, 0x5c, - 0x3e, 0x9a, 0x04, 0x4b, 0x61, 0x67, 0xc2, 0xd3, 0x97, 0xb1, 0x6e, 0xe6, 0x91, 0x10, 0xd3, 0xf7, - 0x59, 0xcc, 0x3e, 0x34, 0x2e, 0xed, 0x70, 0x5a, 0xc2, 0xa7, 0x00, 0xc2, 0x9f, 0x84, 0x91, 0x9f, - 0x86, 0x71, 0x24, 0xab, 0x6e, 0x8e, 0x1e, 0x56, 0xf4, 0xd8, 0xe3, 0x17, 0x97, 0x9c, 0xd2, 0xe7, - 0x85, 0xad, 0x67, 0xf9, 0xb1, 0x39, 0xf4, 0x2a, 0xa2, 0x92, 0xc0, 0x1f, 0xa0, 0x5d, 0xd4, 0x9d, - 0xf9, 0x93, 0xbe, 0xc6, 0xc1, 0xca, 0x6b, 0xd4, 0x86, 0xde, 0x82, 0x1f, 0xee, 0xc0, 0x7a, 0x1a, - 0xa7, 0xfe, 0x54, 0xe6, 0xb8, 0xee, 0x29, 0x81, 0xcd, 0x60, 0xdb, 0x4c, 0x4e, 0x56, 0x67, 0xb9, - 0x9e, 0xda, 0xed, 0xea, 0xb1, 0xba, 0x55, 0xb7, 0xbb, 0xc5, 0x26, 0xd0, 0xb6, 0xc3, 0xa9, 0x21, - 0x7d, 0x76, 0xe3, 0x21, 0xb5, 0x3c, 0x56, 0xd4, 0xf5, 0x33, 0x34, 0xfd, 0x20, 0x38, 0x9e, 0xfa, - 0x7f, 0x9c, 0x7f, 0xd8, 0xc4, 0x0c, 0xa0, 0xf9, 0x36, 0xb3, 0x2e, 0x8d, 0xaf, 0x0d, 0xb1, 0xb6, - 0xfc, 0x37, 0xe8, 0x23, 0x49, 0xb0, 0x97, 0xd0, 0x4e, 0xf8, 0x2c, 0xbe, 0xe2, 0x77, 0x1a, 0xe5, - 0x1e, 0x74, 0x4a, 0xa7, 0x92, 0x60, 0x53, 0x68, 0x4d, 0x78, 0x2a, 0x65, 0xfa, 0xef, 0x47, 0xf1, - 0x8d, 0x9c, 0x88, 0x3c, 0x1a, 0x09, 0xfc, 0x12, 0x1a, 0x32, 0xc1, 0x7c, 0xf4, 0x76, 0x2b, 0x8e, - 0x94, 0xe6, 0xf2, 0x6e, 0xb4, 0xed, 0x8a, 0x6b, 0x39, 0x82, 0x66, 0x48, 0xe6, 0x8f, 0xec, 0xc0, - 0x86, 0xca, 0xfd, 0xb1, 0x2e, 0x25, 0x17, 0x8d, 0x66, 0xa4, 0x9b, 0x94, 0x8b, 0xec, 0x77, 0x68, - 0x99, 0x23, 0x48, 0xe0, 0xe7, 0xd0, 0x0e, 0xa3, 0xac, 0x79, 0x8f, 0xf5, 0x54, 0xc8, 0xa3, 0x36, - 0xbd, 0x05, 0xd4, 0xd8, 0x8d, 0x72, 0xbb, 0xba, 0x6d, 0x97, 0xa3, 0xec, 0x3b, 0x80, 0x90, 0x8a, - 0x2b, 0xbd, 0x4d, 0x86, 0xaf, 0xb3, 0x22, 0x8b, 0xeb, 0xcb, 0x76, 0x91, 0x4e, 0xe5, 0x38, 0x6f, - 0x63, 0x16, 0xb7, 0x0c, 0x1a, 0xab, 0x91, 0xb6, 0xaa, 0xdb, 0x56, 0x1a, 0x64, 0xbf, 0x42, 0x27, - 0xe0, 0x53, 0x9e, 0xf2, 0x9b, 0x2c, 0x43, 0x06, 0x2d, 0x7b, 0xef, 0xe9, 0x74, 0x4b, 0x58, 0xb6, - 0x0a, 0xcb, 0x07, 0x93, 0x60, 0x7f, 0xd5, 0xa0, 0x97, 0x70, 0x12, 0x71, 0xa4, 0xf7, 0x71, 0xb1, - 0x0c, 0xff, 0x0d, 0x11, 0x30, 0x68, 0xfd, 0xe9, 0x47, 0xc1, 0x94, 0x7b, 0x9c, 0x2e, 0xa7, 0xa9, - 0xa4, 0x83, 0x75, 0xaf, 0x84, 0xe1, 0x2e, 0x6c, 0x29, 0x39, 0xe3, 0x0b, 0xc5, 0x0d, 0x06, 0x60, - 0x0e, 0xf4, 0xab, 0xd2, 0x22, 0xc1, 0x12, 0x40, 0xe2, 0xc5, 0x36, 0x9f, 0xf9, 0xc9, 0xf9, 0x9d, - 0x75, 0x48, 0x11, 0x58, 0x76, 0xa4, 0x21, 0xb0, 0x4c, 0x62, 0x3d, 0xe8, 0x2e, 0xc5, 0x24, 0xc1, - 0xae, 0xa0, 0x2f, 0x37, 0x5d, 0x3c, 0xfb, 0x7f, 0x99, 0xe4, 0x3d, 0xdc, 0xaf, 0x8c, 0xab, 0xb8, - 0x64, 0x7c, 0x4b, 0x2e, 0x19, 0x7f, 0x00, 0x97, 0x8c, 0xfe, 0xde, 0x00, 0xfd, 0x2e, 0xc2, 0xaf, - 0x61, 0xab, 0x60, 0x71, 0xdc, 0x39, 0xd4, 0x6f, 0x27, 0xfb, 0x31, 0xe1, 0xf6, 0x2a, 0x50, 0x12, - 0xf8, 0x5c, 0xbe, 0x93, 0xca, 0x4c, 0x88, 0xbb, 0xb9, 0x6d, 0x15, 0x35, 0xbb, 0x7b, 0xd7, 0x68, - 0x49, 0xe0, 0x2f, 0xd0, 0xad, 0xe8, 0x08, 0xee, 0x5b, 0x5e, 0x15, 0xd7, 0xe4, 0x3e, 0xb8, 0x56, - 0x4f, 0x02, 0x9f, 0x00, 0x18, 0x2e, 0xc3, 0x5e, 0xc9, 0x3c, 0xa7, 0x53, 0xb7, 0x5f, 0x05, 0x93, - 0xc0, 0xaf, 0x60, 0x33, 0x27, 0x13, 0xec, 0x5a, 0x9d, 0xc8, 0x17, 0x8f, 0xbb, 0xb3, 0x0c, 0x92, - 0xc0, 0x6f, 0xa0, 0x69, 0xb1, 0x03, 0x16, 0xa7, 0x97, 0x89, 0xc8, 0xbd, 0x5f, 0x89, 0xab, 0xb0, - 0xf9, 0xf2, 0x34, 0x61, 0xad, 0x8d, 0x6c, 0xc2, 0x96, 0x76, 0xec, 0x08, 0x36, 0xf4, 0x46, 0x43, - 0x34, 0x06, 0x45, 0xb8, 0xee, 0x12, 0x46, 0x22, 0x1b, 0x81, 0x82, 0x47, 0xcc, 0x08, 0xd8, 0x44, - 0xe6, 0xf6, 0x2a, 0x50, 0x12, 0x78, 0x04, 0x2d, 0x7b, 0x17, 0x61, 0x51, 0xcd, 0xc2, 0xea, 0x73, - 0x9d, 0x6a, 0x05, 0x09, 0x7c, 0x01, 0xb8, 0xbc, 0x22, 0x70, 0xcf, 0xb4, 0xa5, 0x62, 0xab, 0xb9, - 0xfb, 0xd7, 0xa9, 0x49, 0xe0, 0x8f, 0xd0, 0x59, 0xf8, 0xa7, 0xa3, 0x9b, 0xbb, 0x2c, 0xaf, 0x1d, - 0xf7, 0xd3, 0x95, 0x3a, 0x12, 0x78, 0x0c, 0xdb, 0xf6, 0xd3, 0x93, 0x4c, 0x91, 0x0b, 0x8f, 0x5d, - 0x53, 0xe4, 0xe2, 0x53, 0x15, 0xbf, 0xb7, 0x1f, 0x53, 0xf2, 0x2d, 0xf4, 0xc9, 0xf2, 0xb4, 0xe9, - 0x4f, 0x0d, 0xd7, 0x5d, 0xa5, 0x22, 0x71, 0xfc, 0xd9, 0x6f, 0x0f, 0xb2, 0xef, 0x98, 0xb3, 0x93, - 0x53, 0xeb, 0x03, 0x46, 0x99, 0x3f, 0x51, 0x3f, 0x6f, 0x1b, 0x12, 0xfc, 0xe2, 0x9f, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xdd, 0xee, 0xa4, 0x0d, 0x0e, 0x0d, 0x00, 0x00, +var fileDescriptor_friend_b44dbd852f0b513f = []byte{ + // 974 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x5f, 0x6f, 0x1b, 0x45, + 0x10, 0x97, 0x1d, 0xe2, 0x26, 0x63, 0xd7, 0x29, 0xe3, 0xd4, 0x3d, 0x5d, 0xfe, 0xb9, 0xab, 0xaa, + 0x98, 0x87, 0xc6, 0xaa, 0x81, 0x27, 0x24, 0x20, 0x51, 0x14, 0x11, 0xa4, 0x08, 0xb8, 0x16, 0x50, + 0x40, 0x22, 0xba, 0x72, 0x6b, 0x73, 0x8a, 0x7d, 0xb7, 0xb9, 0xb9, 0x24, 0xed, 0x0b, 0x02, 0xf1, + 0x19, 0xf8, 0x68, 0x7c, 0x1f, 0x74, 0xbb, 0x7b, 0x77, 0x7b, 0xe7, 0xb3, 0xeb, 0x86, 0xf4, 0xc9, + 0x9a, 0x99, 0xdf, 0xfc, 0xdd, 0xf1, 0xcc, 0x1c, 0x74, 0x46, 0x91, 0xcf, 0x03, 0x6f, 0xa0, 0x7e, + 0xf6, 0x45, 0x14, 0xc6, 0x21, 0x36, 0x14, 0x65, 0xf7, 0xbf, 0x15, 0x3c, 0x78, 0x76, 0x72, 0xfa, + 0xec, 0x05, 0x8f, 0xae, 0x79, 0x34, 0x10, 0x17, 0xe3, 0x81, 0x44, 0x0c, 0xc8, 0xbb, 0x38, 0xbf, + 0xa1, 0xc1, 0x0d, 0x29, 0x0d, 0xe6, 0xc2, 0xa3, 0x31, 0x8f, 0xbf, 0x73, 0xc7, 0x7e, 0xe0, 0xc6, + 0x7e, 0x18, 0x1c, 0x4b, 0x03, 0xe4, 0xf0, 0x4b, 0xec, 0x41, 0x33, 0xbc, 0x09, 0x78, 0xf4, 0x03, + 0xf1, 0xe8, 0xe4, 0xc8, 0xaa, 0xf5, 0x6a, 0xfd, 0x75, 0xc7, 0x64, 0xe1, 0x13, 0xb8, 0xaf, 0x1c, + 0x2a, 0x9a, 0xac, 0x7a, 0x6f, 0xa5, 0xbf, 0xee, 0x14, 0x99, 0xec, 0x17, 0xb0, 0xaa, 0x5d, 0x90, + 0xc0, 0x2f, 0xa1, 0xa9, 0xc0, 0x74, 0x12, 0x8c, 0x42, 0xab, 0xd6, 0x5b, 0xe9, 0x37, 0x87, 0x3b, + 0xfb, 0x24, 0xc3, 0x3e, 0x77, 0x85, 0x7f, 0x2e, 0xdc, 0xc8, 0x9d, 0xd2, 0xbe, 0x52, 0x4a, 0x40, + 0x8e, 0xa9, 0xc1, 0xde, 0x40, 0xc7, 0x15, 0x62, 0xf2, 0xe6, 0x65, 0x78, 0xe0, 0x79, 0x0a, 0x94, + 0xc4, 0xbe, 0x0b, 0x30, 0x8a, 0xc2, 0x69, 0x21, 0x74, 0x83, 0x83, 0x36, 0xac, 0xc5, 0xa1, 0x96, + 0xd6, 0xa5, 0x34, 0xa3, 0xb1, 0x0b, 0x8d, 0x88, 0x5f, 0x9e, 0xd2, 0xd8, 0x5a, 0x91, 0x12, 0x4d, + 0x61, 0x1b, 0xea, 0xfc, 0xb5, 0xf5, 0x81, 0xe4, 0xd5, 0xf9, 0x6b, 0xd6, 0x85, 0xcd, 0x59, 0xd7, + 0x24, 0xd8, 0x19, 0x6c, 0xf8, 0x53, 0x11, 0x46, 0x71, 0x1e, 0xce, 0x5d, 0x95, 0x12, 0xe1, 0x41, + 0xd1, 0x34, 0x09, 0xf6, 0x07, 0xec, 0x56, 0x95, 0xf7, 0x40, 0x85, 0x96, 0x78, 0xef, 0x42, 0xe3, + 0xca, 0x74, 0xac, 0x29, 0x3c, 0x02, 0x10, 0x99, 0x9a, 0x2c, 0x43, 0x73, 0xf8, 0xa4, 0xa2, 0xf6, + 0x0e, 0xbf, 0xbc, 0xe2, 0x64, 0xb8, 0x70, 0x0c, 0x3d, 0xf6, 0x57, 0x0d, 0xf6, 0x16, 0x06, 0x40, + 0x02, 0xbf, 0x86, 0x76, 0x56, 0x8c, 0xc4, 0x14, 0xe9, 0x97, 0xee, 0xcd, 0x7d, 0x69, 0x0d, 0x74, + 0x4a, 0x7a, 0xb8, 0x09, 0xab, 0x71, 0x18, 0xbb, 0x13, 0x19, 0xee, 0xaa, 0xa3, 0x08, 0x76, 0x23, + 0xbb, 0xf8, 0x88, 0x93, 0x3f, 0x0e, 0xdc, 0x98, 0x7b, 0x46, 0x17, 0x17, 0x93, 0xac, 0xdd, 0x2e, + 0x49, 0xa3, 0x84, 0x75, 0xb3, 0x84, 0xec, 0x52, 0xf6, 0x76, 0x85, 0x63, 0xd5, 0xdb, 0xc7, 0xef, + 0xdc, 0xdb, 0x86, 0xc6, 0x9c, 0x5c, 0xbf, 0x87, 0xa6, 0xeb, 0x79, 0x87, 0x13, 0xf7, 0xb7, 0x8b, + 0xe5, 0x5a, 0xab, 0x07, 0xcd, 0x57, 0x09, 0xba, 0xd0, 0xee, 0x26, 0x8b, 0xb5, 0xa1, 0x95, 0x9b, + 0x24, 0xc1, 0x5e, 0x42, 0x3b, 0xe2, 0xd3, 0xf0, 0x9a, 0xdf, 0xa9, 0x97, 0x0f, 0x61, 0xa3, 0x60, + 0x95, 0x04, 0xbb, 0x86, 0x6e, 0xa1, 0x75, 0xa4, 0x84, 0xde, 0x7f, 0xcf, 0xf2, 0xd2, 0xd4, 0x4b, + 0xfd, 0x92, 0xc0, 0x4f, 0xa1, 0x21, 0x83, 0x4e, 0x5b, 0x74, 0xbb, 0xc2, 0xb8, 0x84, 0xcb, 0xf7, + 0xd2, 0xd8, 0x39, 0x4f, 0x75, 0x00, 0x4d, 0x9f, 0xf2, 0x29, 0x60, 0xc1, 0x3d, 0x95, 0xc5, 0x73, + 0x9d, 0x54, 0x4a, 0xe6, 0x92, 0xa1, 0x2e, 0x5c, 0x4a, 0xb2, 0x5f, 0xa1, 0x95, 0x9b, 0x20, 0x81, + 0x4f, 0xa1, 0xed, 0x07, 0x49, 0x41, 0x9f, 0xeb, 0x4e, 0x91, 0xa6, 0xd6, 0x9c, 0x12, 0x37, 0xc7, + 0x0d, 0x53, 0x5c, 0xdd, 0xc4, 0xa5, 0x5c, 0xf6, 0x15, 0x80, 0x4f, 0xd9, 0x33, 0xdf, 0x26, 0xc2, + 0xb3, 0x24, 0xc9, 0xec, 0x49, 0x93, 0x41, 0xa6, 0x43, 0x39, 0x4c, 0xcb, 0x98, 0xf8, 0x2d, 0x32, + 0x73, 0xd4, 0x50, 0xa3, 0xea, 0x26, 0x4a, 0x33, 0xd9, 0x4f, 0xb0, 0xe1, 0xf1, 0x09, 0x8f, 0xf9, + 0xbb, 0x4c, 0x52, 0x06, 0x2d, 0x73, 0x68, 0xea, 0x70, 0x0b, 0xbc, 0x64, 0x8e, 0x16, 0x0d, 0x93, + 0x60, 0xff, 0xd4, 0xe0, 0x61, 0xc4, 0x49, 0x84, 0x81, 0xfe, 0x17, 0xcb, 0x01, 0xf6, 0x7f, 0x97, + 0x09, 0x83, 0xd6, 0xef, 0x6e, 0xe0, 0x4d, 0xb8, 0xc3, 0xe9, 0x6a, 0x12, 0xcb, 0x95, 0xb2, 0xea, + 0x14, 0x78, 0xb8, 0x0d, 0xeb, 0x8a, 0x4e, 0x76, 0x8e, 0xda, 0x2f, 0x39, 0x83, 0x59, 0xd0, 0xad, + 0x0a, 0x8b, 0x04, 0x8b, 0x00, 0x89, 0x67, 0xab, 0x60, 0xea, 0x46, 0x17, 0x77, 0x56, 0x21, 0xb5, + 0x04, 0x13, 0x93, 0xf9, 0x12, 0x4c, 0x28, 0xf6, 0x10, 0x3a, 0x33, 0x3e, 0x49, 0xb0, 0x3f, 0x6b, + 0xd0, 0x9b, 0xbb, 0x04, 0x8e, 0xa3, 0x70, 0xfa, 0xfe, 0xff, 0xd3, 0x7f, 0xd7, 0xe0, 0xf1, 0x5b, + 0x42, 0x50, 0x9b, 0x68, 0x74, 0xcb, 0x4d, 0x34, 0x5a, 0x62, 0x13, 0x0d, 0xff, 0x5d, 0x03, 0x7d, + 0x84, 0xe1, 0x29, 0x3c, 0x28, 0xdf, 0x07, 0xb8, 0xb5, 0xaf, 0xef, 0xb5, 0x8a, 0xa3, 0xc5, 0xde, + 0x9e, 0x2f, 0x24, 0x81, 0x01, 0x6c, 0x2d, 0x58, 0xb3, 0xf8, 0x34, 0x55, 0x5e, 0x7c, 0x0c, 0xd8, + 0x1f, 0x2d, 0x85, 0x23, 0x81, 0x31, 0xec, 0x2c, 0x2c, 0x27, 0xf6, 0xdf, 0x6a, 0x49, 0x3f, 0xbc, + 0xfd, 0xf1, 0x92, 0x48, 0x12, 0xf8, 0x19, 0xac, 0xa5, 0xab, 0x08, 0x3b, 0x59, 0x3d, 0xf2, 0x7d, + 0x67, 0x6f, 0xce, 0x32, 0x49, 0xe0, 0x17, 0xd0, 0x34, 0x76, 0x0b, 0x76, 0x53, 0x50, 0x71, 0x8d, + 0xd9, 0x8f, 0x2a, 0xf9, 0xca, 0x6d, 0x3a, 0x66, 0x73, 0xb7, 0xc6, 0xec, 0xce, 0xdd, 0x16, 0xa6, + 0xf1, 0x10, 0xee, 0xe9, 0xd9, 0x87, 0x98, 0x03, 0x32, 0x77, 0x9d, 0x19, 0x1e, 0x09, 0xfc, 0x11, + 0x3a, 0x15, 0xbb, 0x07, 0x77, 0x2b, 0x6b, 0x94, 0x2d, 0x44, 0x7b, 0x6f, 0xa1, 0x9c, 0x04, 0x1e, + 0x40, 0xcb, 0x9c, 0x69, 0x98, 0xe5, 0x5a, 0x1a, 0xa1, 0xb6, 0x55, 0x2d, 0x20, 0x81, 0x2f, 0x00, + 0x67, 0x47, 0x0d, 0xee, 0xe4, 0x45, 0xab, 0x98, 0x8e, 0xf6, 0xee, 0x22, 0x31, 0x09, 0xfc, 0x06, + 0x36, 0x4a, 0x13, 0x03, 0xed, 0x54, 0x65, 0x76, 0x7c, 0xd9, 0x5b, 0x73, 0x65, 0x24, 0xf0, 0x10, + 0xee, 0x9b, 0xf7, 0x2f, 0xe5, 0x49, 0x96, 0x2e, 0xee, 0x3c, 0xc9, 0xf2, 0xbd, 0x8c, 0x67, 0xb0, + 0x59, 0x75, 0xb2, 0xa1, 0x59, 0xe0, 0xaa, 0x4b, 0xd2, 0xee, 0x2d, 0x06, 0x64, 0xa6, 0x67, 0x3a, + 0x1c, 0xf7, 0x16, 0xf5, 0x7f, 0xd9, 0x74, 0xe5, 0x87, 0xd2, 0xe1, 0xe3, 0x9f, 0xf7, 0x92, 0x6f, + 0xba, 0xf3, 0x93, 0x53, 0xe3, 0x63, 0x4e, 0x29, 0x7d, 0xae, 0x7e, 0x5e, 0x35, 0x24, 0xf3, 0x93, + 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xb5, 0xaf, 0x0f, 0xd2, 0x1a, 0x0e, 0x00, 0x00, } diff --git a/pkg/proto/friend/friend.proto b/pkg/proto/friend/friend.proto index a5814a807..a7e7df8bd 100644 --- a/pkg/proto/friend/friend.proto +++ b/pkg/proto/friend/friend.proto @@ -3,22 +3,22 @@ import "Open-IM-Server/pkg/proto/sdk_ws/ws.proto"; option go_package = "Open_IM/pkg/proto/friend;friend"; package friend; -message getFriendsInfoReq{ +message getPaginationFriendsReq{ string ownerUserID = 1; repeated string friendUserIDs = 2; } -message getFriendsInfoResp{ +message getPaginationFriendsResp{ repeated server_api_params.FriendInfo friendsInfo = 1; } -message addFriendReq{ +message applyToAddFriendReq{ string fromUserID = 1; string toUserID = 2; string reqMsg = 3; string ex = 4; } -message addFriendResp{ +message applyToAddFriendResp{ } @@ -31,22 +31,22 @@ message importFriendResp{ } -message getToFriendsApplyReq{ +message getPaginationFriendsApplyToReq{ string userID = 1; server_api_params.RequestPagination pagination = 2; } -message getToFriendsApplyResp{ +message getPaginationFriendsApplyToResp{ repeated server_api_params.FriendRequest FriendRequests = 1; int32 total = 2; } -message getFriendsReq{ +message getDesignatedFriendsReq{ server_api_params.RequestPagination pagination = 1; string userID = 2; } -message getFriendsResp{ +message getDesignatedFriendsResp{ repeated server_api_params.FriendInfo FriendsInfo = 1; int32 total = 2; } @@ -67,11 +67,11 @@ message removeBlackReq{ message removeBlackResp{ } -message getBlacksReq{ +message getPaginationBlacksReq{ string userID = 1; server_api_params.RequestPagination pagination = 2; } -message getBlacksResp{ +message getPaginationBlacksResp{ repeated server_api_params.BlackInfo blacks= 1; int32 total = 2; } @@ -122,24 +122,22 @@ message setFriendRemarkReq{ message setFriendRemarkResp{ } -message getFromFriendsApplyReq{ +message getPaginationFriendsApplyFromReq{ string userID = 1; server_api_params.RequestPagination pagination = 2; } -message getFromFriendsApplyResp{ +message getPaginationFriendsApplyFromResp{ repeated server_api_params.FriendRequest friendRequests = 1; int32 total = 2; } service friend{ //申请加好友 - rpc addFriend(addFriendReq) returns(addFriendResp); + rpc applyToAddFriend(applyToAddFriendReq) returns(applyToAddFriendResp); //获取收到的好友申请列表 - rpc getToFriendsApply(getToFriendsApplyReq) returns(getToFriendsApplyResp); + rpc getPaginationFriendsApplyTo(getPaginationFriendsApplyToReq) returns(getPaginationFriendsApplyToResp); //获取主动发出去的好友申请列表 - rpc getFromFriendsApply(getFromFriendsApplyReq) returns(getFromFriendsApplyResp); - //获取好友列表 - rpc getFriends(getFriendsReq) returns(getFriendsResp); + rpc getPaginationFriendsApplyFrom(getPaginationFriendsApplyFromReq) returns(getPaginationFriendsApplyFromResp); //添加黑名单 rpc addBlack(addBlackReq) returns(addBlackResp); //移除黑名单 @@ -149,7 +147,7 @@ service friend{ //判断是否在黑名单中 rpc isBlack(isBlackReq) returns(isBlackResp); //获取黑名单列表 - rpc getBlacks(getBlacksReq) returns(getBlacksResp); + rpc getPaginationBlacks(getPaginationBlacksReq) returns(getPaginationBlacksResp); //删除好友 rpc deleteFriend(deleteFriendReq) returns(deleteFriendResp); //对好友申请响应(同意或拒绝) @@ -158,6 +156,8 @@ service friend{ rpc setFriendRemark(setFriendRemarkReq) returns(setFriendRemarkResp); //导入好友关系 rpc importFriends(importFriendReq) returns(importFriendResp); - //获取指定好友信息 - rpc getFriendsInfo(getFriendsInfoReq) returns (getFriendsInfoResp); + //翻页获取好友列表 无结果不返回错误 + rpc getDesignatedFriends(getDesignatedFriendsReq) returns(getDesignatedFriendsResp); + //获取指定好友信息 有id不存在也返回错误 + rpc getPaginationFriends(getPaginationFriendsReq) returns (getPaginationFriendsResp); } \ No newline at end of file diff --git a/pkg/proto/user/user.proto b/pkg/proto/user/user.proto index fc78a3902..3a31c21f7 100644 --- a/pkg/proto/user/user.proto +++ b/pkg/proto/user/user.proto @@ -114,9 +114,6 @@ message batchSetConversationsResp{ message getUsersReq { server_api_params.RequestPagination pagination = 2; - string userName = 3; - string userID = 4; - string content = 5; } message getUsersResp{ @@ -143,7 +140,7 @@ service user { //检查userID是否存在 rpc accountCheck(accountCheckReq)returns(accountCheckResp); //翻页(或指定userID,昵称)拉取用户信息 全字段 - rpc getUsers(getUsersReq) returns (getUsersResp); + rpc getPaginationUsers(getUsersReq) returns (getUsersResp); //用户注册 rpc userRegister(userRegisterReq) returns (userRegisterResp); }