working on dashboard search

This commit is contained in:
Torkel Ödegaard
2017-11-20 12:47:03 +01:00
parent 0fe4229023
commit fc1d8416a7
9 changed files with 58 additions and 58 deletions
+7 -21
View File
@@ -17,8 +17,7 @@ type SearchBuilder struct {
whereTitle string
whereTypeFolder bool
whereTypeDash bool
whereFolderId int64
expandedFolders []int64
whereFolderIds []int64
sql bytes.Buffer
params []interface{}
}
@@ -72,14 +71,8 @@ func (sb *SearchBuilder) WithType(queryType string) *SearchBuilder {
return sb
}
func (sb *SearchBuilder) WithFolderId(folderId int64) *SearchBuilder {
sb.whereFolderId = folderId
return sb
}
func (sb *SearchBuilder) WithExpandedFolders(expandedFolders []int64) *SearchBuilder {
sb.expandedFolders = expandedFolders
func (sb *SearchBuilder) WithFolderIds(folderIds []int64) *SearchBuilder {
sb.whereFolderIds = folderIds
return sb
}
@@ -212,17 +205,10 @@ func (sb *SearchBuilder) buildSearchWhereClause() {
sb.sql.WriteString(" AND dashboard.is_folder = 0")
}
if sb.whereFolderId > 0 {
sb.sql.WriteString(" AND dashboard.folder_id = ?")
sb.params = append(sb.params, sb.whereFolderId)
}
if len(sb.expandedFolders) > 0 {
sb.sql.WriteString(` AND (dashboard.folder_id IN (?` + strings.Repeat(",?", len(sb.expandedFolders)-1) + `) `)
sb.sql.WriteString(` OR dashboard.folder_id IS NULL OR dashboard.folder_id = 0)`)
for _, ef := range sb.expandedFolders {
sb.params = append(sb.params, ef)
if len(sb.whereFolderIds) > 0 {
sb.sql.WriteString(` AND dashboard.folder_id IN (?` + strings.Repeat(",?", len(sb.whereFolderIds)-1) + `) `)
for _, id := range sb.whereFolderIds {
sb.params = append(sb.params, id)
}
}
}