diff --git a/core/invitation.go b/core/invitation.go index b09af51..f6f1d8d 100644 --- a/core/invitation.go +++ b/core/invitation.go @@ -192,18 +192,12 @@ func (iv *invitation) AcceptInvitation(ctx wshandler.ApiCallContext) { func (iv *invitation) DenyInvitation(ctx wshandler.ApiCallContext) { invId, _ := primitive.ObjectIDFromHex(ctx.Arguments[0].(string)) - now := time.Now().UTC().Unix() var ivdoc invitationDoc - if err := iv.mongoClient.FindOneAndUpdateAs(invitation_collection_name, bson.M{ + if err := iv.mongoClient.FindOneAs(invitation_collection_name, bson.M{ "_id": invId, "to": bson.M{"$eq": ctx.CallBy.Accid}, - }, bson.M{ - "$set": bson.M{ - "denied": true, - "ts": now, - }, - }, &ivdoc, options.FindOneAndUpdate().SetReturnDocument(options.After).SetUpsert(false)); err != nil { + }, &ivdoc); err != nil { logger.Println("DenyInvitation failed. addFriend(f2) err :", err) return } @@ -213,6 +207,7 @@ func (iv *invitation) DenyInvitation(ctx wshandler.ApiCallContext) { return } + iv.mongoClient.Delete(invitation_collection_name, bson.M{"_id": invId}) iv.wsh.SendUpstreamMessage(&wshandler.UpstreamMessage{ Target: ivdoc.From.Hex(), Body: []invitationDoc{ivdoc},