35 lines
1011 B
Go
35 lines
1011 B
Go
package localeSelectorRepo
|
|
|
|
import (
|
|
"git.ma-al.com/goc_daniel/b2b/app/db"
|
|
"git.ma-al.com/goc_daniel/b2b/app/model"
|
|
"git.ma-al.com/goc_daniel/b2b/app/model/dbmodel"
|
|
)
|
|
|
|
type UILocaleSelectorRepo interface {
|
|
GetLanguages() ([]model.Language, error)
|
|
GetCountriesAndCurrencies() ([]model.Country, error)
|
|
}
|
|
|
|
type LocaleSelectorRepo struct{}
|
|
|
|
func New() UILocaleSelectorRepo {
|
|
return &LocaleSelectorRepo{}
|
|
}
|
|
|
|
func (r *LocaleSelectorRepo) GetLanguages() ([]model.Language, error) {
|
|
var languages []model.Language
|
|
err := db.Get().Find(&languages).Error
|
|
return languages, err
|
|
}
|
|
|
|
func (r *LocaleSelectorRepo) GetCountriesAndCurrencies() ([]model.Country, error) {
|
|
var countries []model.Country
|
|
err := db.Get().
|
|
Select("*").
|
|
Preload("Currency").
|
|
Joins("LEFT JOIN " + dbmodel.TableNamePsCountryLang + " AS cl ON cl." + dbmodel.PsCountryLangCols.IDCountry.Col() + " = b2b_countries.ps_id_country AND cl." + dbmodel.PsCountryLangCols.IDLang.Col() + " = 2").
|
|
Find(&countries).Error
|
|
return countries, err
|
|
}
|