@@ -14,23 +14,25 @@ type SearchRepository[T any, K any, F any] struct {
1414 BuildQuery func (F ) (string , []interface {})
1515 Mp func (* T )
1616 Map map [string ]int
17- ToArray func (interface {}) interface {
18- driver.Valuer
19- sql.Scanner
20- }
2117}
2218
2319func NewSearchRepository [T any , K any , F any ](db * sql.DB , table string , buildQuery func (F ) (string , []interface {}), options ... func (* T )) (* SearchRepository [T , K , F ], error ) {
24- return NewSearchRepositoryWithArray [T , K , F ](db , table , buildQuery , nil , "" , nil , options ... )
20+ return NewSearchRepositoryWithVersionAndArray [T , K , F ](db , table , buildQuery , nil , "" , nil , options ... )
2521}
2622func NewSearchRepositoryWithVersion [T any , K any , F any ](db * sql.DB , table string , buildQuery func (F ) (string , []interface {}), versionField string , options ... func (* T )) (* SearchRepository [T , K , F ], error ) {
27- return NewSearchRepositoryWithArray [T , K , F ](db , table , buildQuery , nil , versionField , nil , options ... )
23+ return NewSearchRepositoryWithVersionAndArray [T , K , F ](db , table , buildQuery , nil , versionField , nil , options ... )
2824}
2925func NewSearchRepositoryWithArray [T any , K any , F any ](db * sql.DB , table string , buildQuery func (F ) (string , []interface {}), toArray func (interface {}) interface {
3026 driver.Valuer
3127 sql.Scanner
28+ }, opts ... func (* T )) (* SearchRepository [T , K , F ], error ) {
29+ return NewSearchRepositoryWithVersionAndArray [T , K , F ](db , table , buildQuery , toArray , "" , nil , opts ... )
30+ }
31+ func NewSearchRepositoryWithVersionAndArray [T any , K any , F any ](db * sql.DB , table string , buildQuery func (F ) (string , []interface {}), toArray func (interface {}) interface {
32+ driver.Valuer
33+ sql.Scanner
3234}, versionField string , buildParam func (int ) string , opts ... func (* T )) (* SearchRepository [T , K , F ], error ) {
33- repo , err := NewRepositoryWithVersionAndArray [T , K ](db , table , versionField , toArray , buildParam )
35+ repository , err := NewRepositoryWithVersionAndArray [T , K ](db , table , versionField , toArray , buildParam )
3436 if err != nil {
3537 return nil , err
3638 }
@@ -47,7 +49,7 @@ func NewSearchRepositoryWithArray[T any, K any, F any](db *sql.DB, table string,
4749 if err != nil {
4850 return nil , err
4951 }
50- builder := & SearchRepository [T , K , F ]{Repository : repo , Map : fieldsIndex , BuildQuery : buildQuery , Mp : mp , ToArray : toArray }
52+ builder := & SearchRepository [T , K , F ]{Repository : repository , Map : fieldsIndex , BuildQuery : buildQuery , Mp : mp }
5153 return builder , nil
5254}
5355
0 commit comments