From 0ed90f83f948f478df0b24599e9dbbf4f0f5120d 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:49:55 -0500 Subject: [PATCH] add `FindGroupsByCond` helper function --- models/group/group.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/models/group/group.go b/models/group/group.go index 37db7cbc78..0482c5c11b 100644 --- a/models/group/group.go +++ b/models/group/group.go @@ -3,6 +3,8 @@ package group import ( "code.gitea.io/gitea/models/db" user_model "code.gitea.io/gitea/models/user" + "code.gitea.io/gitea/modules/log" + "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/structs" "code.gitea.io/gitea/modules/util" "context" @@ -139,6 +141,19 @@ func FindGroups(ctx context.Context, opts *FindGroupsOptions) (GroupList, error) Find(&groups) } +func FindGroupsByCond(ctx context.Context, cond builder.Cond, parentGroupID int64) (GroupList, error) { + if parentGroupID > 0 { + cond = cond.And(builder.Eq{"repo_group.id": parentGroupID}) + } else { + cond = cond.And(builder.IsNull{"repo_group.id"}) + } + sess := db.GetEngine(ctx).Where(cond) + groups := make([]*Group, 0) + return groups, sess. + Asc("repo_group.id"). + Find(&groups) +} + type ErrGroupNotExist struct { ID int64 }