ajout app

This commit is contained in:
2024-04-17 20:22:30 +02:00
parent cc017cfc5e
commit f9d05a2fd3
8025 changed files with 729805 additions and 0 deletions

View File

@ -0,0 +1,40 @@
package search
import (
"encoding/json"
"voltaserve/infra"
"voltaserve/model"
"voltaserve/repo"
)
type UserSearch struct {
index string
search *infra.SearchManager
}
func NewUserSearch() *UserSearch {
return &UserSearch{
index: infra.UserSearchIndex,
search: infra.NewSearchManager(),
}
}
func (s *UserSearch) Query(query string) ([]model.User, error) {
hits, err := s.search.Query(s.index, query)
if err != nil {
return nil, err
}
res := []model.User{}
for _, v := range hits {
b, err := json.Marshal(v)
if err != nil {
return nil, err
}
user := repo.NewUser()
if err := json.Unmarshal(b, &user); err != nil {
return nil, err
}
res = append(res, user)
}
return res, nil
}