From a8ce35aa10c0b61458aaee8820f8c937708f1133 Mon Sep 17 00:00:00 2001 From: Vidhu Kant Sharma Date: Sat, 11 Oct 2025 17:53:59 +0530 Subject: properly deleting shipping addresses on customer edit --- customer/customer.go | 2 +- customer/service.go | 1 + main.go | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/customer/customer.go b/customer/customer.go index 6e7d2e5..c1290bf 100644 --- a/customer/customer.go +++ b/customer/customer.go @@ -54,5 +54,5 @@ type Customer struct { Email string Website string BillingAddress CustomerBillingAddress - ShippingAddresses []CustomerShippingAddress + ShippingAddresses []CustomerShippingAddress `gorm:"index;constraint:OnDelete:CASCADE;"` } diff --git a/customer/service.go b/customer/service.go index 77b4dfa..8cd2bde 100644 --- a/customer/service.go +++ b/customer/service.go @@ -53,6 +53,7 @@ func getCustomers(customers *[]Customer, userId uint) error { } func (c *Customer) upsert() error { + db.Model(&c).Association("ShippingAddresses").Replace(c.ShippingAddresses) res := db.Session(&gorm.Session{FullSaveAssociations: true}).Save(&c) // TODO: handle potential errors return res.Error diff --git a/main.go b/main.go index 9da4fde..b4f9476 100644 --- a/main.go +++ b/main.go @@ -38,7 +38,7 @@ import ( "log" ) -const OPENBILLS_VERSION = "v0.13.2" +const OPENBILLS_VERSION = "v0.14.0" func init() { if !viper.GetBool("debug_mode") { -- cgit v1.2.3