From 87708fee049ecff72ca337819c2ca35afcfaf7a3 Mon Sep 17 00:00:00 2001 From: Nikita Tokarchuk Date: Wed, 22 Jul 2020 04:45:32 +0200 Subject: [PATCH] Add callback support to a saving --- mongox/database/saveone.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/mongox/database/saveone.go b/mongox/database/saveone.go index ed70c6a..6c39db4 100644 --- a/mongox/database/saveone.go +++ b/mongox/database/saveone.go @@ -32,10 +32,22 @@ func (d *Database) SaveOne(source interface{}, filters ...interface{}) (err erro protected.V = time.Now().Unix() } + defer composed.OnClose().Invoke(ctx, source) + result := collection.FindOneAndReplace(ctx, composed.M(), source, opts) if result.Err() != nil { return result.Err() } - return result.Decode(source) + err = result.Decode(source) + if err != nil { + return + } + + err = composed.OnDecode().Invoke(ctx, source) + if err != nil { + return + } + + return }