From 9fb94a8be1464dd2527bf1e447c35adc3cba6b97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=98=99=E2=97=A6=20The=20Tablet=20=E2=9D=80=20GamerGirla?= =?UTF-8?q?ndCo=20=E2=97=A6=E2=9D=A7?= Date: Fri, 27 Dec 2024 21:26:19 -0500 Subject: [PATCH] add `ParentGroup` field and related `LoadParentGroup` method to `Group` struct --- models/group/group.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/models/group/group.go b/models/group/group.go index aee073999a..e3482700c9 100644 --- a/models/group/group.go +++ b/models/group/group.go @@ -22,6 +22,7 @@ type Group struct { Avatar string `xorm:"VARCHAR(64)"` ParentGroupID int64 `xorm:"INDEX DEFAULT NULL"` + ParentGroup *Group `xorm:"-"` Subgroups GroupList `xorm:"-"` } @@ -68,6 +69,18 @@ func (g *Group) LoadAttributes(ctx context.Context) error { if err != nil { return err } + return g.LoadParentGroup(ctx) +} + +func (g *Group) LoadParentGroup(ctx context.Context) error { + if g.ParentGroup != nil { + return nil + } + parentGroup, err := GetGroupByID(ctx, g.ParentGroupID) + if err != nil { + return err + } + g.ParentGroup = parentGroup return nil }