From 57b033e2dd17b89d171570475b706c5bc671f52f Mon Sep 17 00:00:00 2001 From: Amit Basuri Date: Mon, 2 Nov 2020 07:33:39 +0530 Subject: [PATCH] Marshalling zero valued Deleted at to nullhttps://github.com/go-gorm/gorm/issues/3693 (#3695) --- soft_delete.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/soft_delete.go b/soft_delete.go index b68cee43..284129a1 100644 --- a/soft_delete.go +++ b/soft_delete.go @@ -33,8 +33,12 @@ func (n DeletedAt) MarshalJSON() ([]byte, error) { } func (n *DeletedAt) UnmarshalJSON(b []byte) error { + if string(b) == "null" { + n.Valid = false + return nil + } err := json.Unmarshal(b, &n.Time) - if err == nil && !n.Time.IsZero() { + if err == nil { n.Valid = true } return err