* add more tests and docs for issue indexer, add db indexer type for searching from database * fix typo * fix typo * fix lint * improve docs
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2019 The Gitea Authors. All rights reserved.
 | 
						|
// Use of this source code is governed by a MIT-style
 | 
						|
// license that can be found in the LICENSE file.
 | 
						|
 | 
						|
package issues
 | 
						|
 | 
						|
import "code.gitea.io/gitea/models"
 | 
						|
 | 
						|
// DBIndexer implements Indexer inteface to use database's like search
 | 
						|
type DBIndexer struct {
 | 
						|
}
 | 
						|
 | 
						|
// Init dummy function
 | 
						|
func (db *DBIndexer) Init() (bool, error) {
 | 
						|
	return false, nil
 | 
						|
}
 | 
						|
 | 
						|
// Index dummy function
 | 
						|
func (db *DBIndexer) Index(issue []*IndexerData) error {
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// Delete dummy function
 | 
						|
func (db *DBIndexer) Delete(ids ...int64) error {
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// Search dummy function
 | 
						|
func (db *DBIndexer) Search(kw string, repoID int64, limit, start int) (*SearchResult, error) {
 | 
						|
	total, ids, err := models.SearchIssueIDsByKeyword(kw, repoID, limit, start)
 | 
						|
	if err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	var result = SearchResult{
 | 
						|
		Total: total,
 | 
						|
		Hits:  make([]Match, 0, limit),
 | 
						|
	}
 | 
						|
	for _, id := range ids {
 | 
						|
		result.Hits = append(result.Hits, Match{
 | 
						|
			ID:     id,
 | 
						|
			RepoID: repoID,
 | 
						|
		})
 | 
						|
	}
 | 
						|
	return &result, nil
 | 
						|
}
 |