From f28a3edbcfc6ba228b359327767a861a71ec0a5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Z=C3=BCrcher?= Date: Thu, 20 Nov 2025 18:00:12 +0100 Subject: [PATCH] change function and gorm tag --- handlers/events.go | 12 +++++++++--- models/event.go | 2 +- models/member.go | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/handlers/events.go b/handlers/events.go index 828359a..2c537c2 100644 --- a/handlers/events.go +++ b/handlers/events.go @@ -21,12 +21,18 @@ func (dh *DatabaseHandler) StartNewEvent(event *models.Event) error { return dh.database.AddNewColum(&event) } -func (dh *DatabaseHandler) GetEvent(id uint) (event []models.Event, err error) { +func (dh *DatabaseHandler) GetEvent(id uint) (events []models.Event, err error) { if !dh.DatabaseOpened() { - return event, errors.New("database not opened") + return events, errors.New("database not opened") } - err = dh.database.GetById(&event, "Attendees", id) + err = dh.database.GetById(&events, "Attendees", id) + + for i := range events { + for j := range events[i].Attendees { + events[i].Attendees[j].Decrypt(dh.token) + } + } if err != nil { return } diff --git a/models/event.go b/models/event.go index a27dc67..4d42a47 100644 --- a/models/event.go +++ b/models/event.go @@ -5,5 +5,5 @@ type Event struct { Name string `gorm:"column:name" json:"name"` Date string `gorm:"column:date" json:"date"` Day string `gorm:"column:day" json:"day"` - Attendees []*Member `gorm:"many2many:member_events;" json:"attendees"` + Attendees []*Member `gorm:"many2many:member_events;constraint:OnDelete:CASCADE;" json:"attendees"` } diff --git a/models/member.go b/models/member.go index d20054b..941c1a2 100644 --- a/models/member.go +++ b/models/member.go @@ -21,9 +21,9 @@ type Member struct { FirstVisit string `gorm:"column:firstVisit" json:"firstVisit,omitempty"` LastVisit string `gorm:"column:lastVisit" json:"lastVisit,omitempty"` GroupId *int `json:"GroupId,omitempty"` - Group *Group `gorm:"foreignKey:GroupId" json:"group,omitempty"` + Group *Group `gorm:"foreignKey:GroupId;constraint:OnDelete:CASCADE;"json:"group,omitempty"` ResponsibleId *int `json:"ResponsibleId,omitempty"` - Responsible *Member `gorm:"foreignKey:ResponsibleId" json:"responsible,omitempty"` + Responsible *Member `gorm:"foreignKey:ResponsibleId;constraint:OnDelete:CASCADE;" json:"responsible,omitempty"` Comment string `gorm:"column:comment" json:"comment,omitempty"` Events []*Event `gorm:"many2many:member_events;" ` }