Nested Folders: Refactor query for getting folders (#78286)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
This commit is contained in:
Tania 2023-11-17 04:09:30 -08:00 committed by GitHub
parent 2976f0ebe6
commit a9208f623a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 14 deletions

View File

@ -102,21 +102,19 @@ func (d *DashboardFolderStoreImpl) GetFolders(ctx context.Context, orgID int64,
b.WriteString("SELECT * FROM dashboard WHERE org_id=?")
args = append(args, orgID)
for i, uid := range uids {
if i == 0 {
b.WriteString(" AND (")
if len(uids) == 1 {
b.WriteString(" AND uid=?")
}
if i > 0 {
b.WriteString(" OR ")
if len(uids) > 1 {
b.WriteString(" AND uid IN (" + strings.Repeat("?, ", len(uids)-1) + "?)")
}
b.WriteString(" uid=? ")
for _, uid := range uids {
args = append(args, uid)
}
if i == len(uids)-1 {
b.WriteString(")")
}
}
return sess.SQL(b.String(), args...).Find(&folders)
}); err != nil {
return nil, err