diff --git a/core/invitation.go b/core/invitation.go index 6b019b6..2822b6a 100644 --- a/core/invitation.go +++ b/core/invitation.go @@ -268,12 +268,17 @@ func (iv *invitation) InviteAsFriend(w http.ResponseWriter, r *http.Request) { _, newid, err := iv.mongoClient.Update(invitation_collection_name, bson.M{ "_id": combineObjectID(ivdoc.From, ivdoc.To), }, bson.M{"$setOnInsert": ivdoc}, options.Update().SetUpsert(true)) - if err != nil || newid == nil { + if err != nil { logger.Println("InviteAsFriend failed:", err) w.WriteHeader(http.StatusInternalServerError) return } + if newid == nil { + // 이미 보낸 초대 요청 + return + } + ivdoc.Id = newid.(primitive.ObjectID) if !ivdoc.Blocked { iv.wsh.SendUpstreamMessage(&wshandler.UpstreamMessage{ diff --git a/go.mod b/go.mod index 7c33429..602ca57 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/go-redis/redis/v8 v8.11.5 github.com/gorilla/websocket v1.5.0 go.mongodb.org/mongo-driver v1.11.7 - repositories.action2quare.com/ayo/gocommon v0.0.0-20231116105647-72a62b678f83 + repositories.action2quare.com/ayo/gocommon v0.0.0-20240122081445-b100148f54a3 ) require ( diff --git a/go.sum b/go.sum index 3a313c1..c39b984 100644 --- a/go.sum +++ b/go.sum @@ -106,3 +106,5 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= repositories.action2quare.com/ayo/gocommon v0.0.0-20231116105647-72a62b678f83 h1:0X/ZTLb71JQ+ksZyPdLkxAHz9nDTT+/qRjV/zYBzlMc= repositories.action2quare.com/ayo/gocommon v0.0.0-20231116105647-72a62b678f83/go.mod h1:XvklTTSvQX5uviivGBcZo8eIL+mV94W2e4uBBXcT5JY= +repositories.action2quare.com/ayo/gocommon v0.0.0-20240122081445-b100148f54a3 h1:gf07Uv+kkrGj2uI4gEY3lEDdxrsoAoESUG0YS0guYjg= +repositories.action2quare.com/ayo/gocommon v0.0.0-20240122081445-b100148f54a3/go.mod h1:Gb418rT96M3K7L/XMPzp8IJj4UXVunq7dZzrxsMBz/8=