This commit is contained in:
2026-07-21 03:49:47 +03:00
commit e8a0b2ba42
65 changed files with 40163 additions and 0 deletions

82
model/model.go Executable file
View File

@@ -0,0 +1,82 @@
package model
import (
"regexp"
"strings"
"gordenko.dev/dima/qx"
"gordenko.dev/dima/textutil"
)
func New(qxdb *qx.Db) *Model {
s := new(Model)
s.qx = qxdb
return s
}
var reCountryCode = regexp.MustCompile(`\([a-z]{3}\)`)
// NormalizeNameToAlias - удаляет лишние пробельные символы. Заменяет whitespace символы на пробел,
// приводит к нижнему регистру
func NormalizeNameToAlias(name string) string {
name = strings.ToLower(name)
// вырезаем код страны если есть (пример: (Aut))
name = reCountryCode.ReplaceAllString(name, "")
name = strings.TrimSpace(name)
return textutil.NormalizeWhitespaces(name)
}
/*
func (s *Model) ListFootballChamps() (list []FootballChamp, err error) {
err = s.qx.ListBy(&list, "ORDER BY name ASC")
return
}
func (s *Model) ListFootballChampTeams(champID int64) (list []Team, err error) {
err = s.qx.ListBy(&list, "WHERE champID=? ORDER BY canonicalName ASC", champID)
return
}
func (s *Model) ListFootballTeamAliases(teamID int64) (list []Alias, err error) {
err = s.qx.ListBy(&list, "WHERE teamID=? ORDER BY name ASC", teamID)
return
}
func (s *Model) RemoveFootballTeam(teamID int64) (err error) {
return s.qx.Exec("DELETE FROM footballTeams WHERE teamID=?", teamID)
}
func (s *Model) RemoveFootballAlias(aliasID int64) (err error) {
return s.qx.Exec("DELETE FROM footballTeamAliases WHERE aliasID=?", aliasID)
}
func (s *Model) AddFootballAlias(req AddFootballAliasReq) (aliasID int64, err error) {
if req.Name == "" {
err = api.Err{
Code: EmptyValue,
Field: "name",
}
return
}
tx, err := s.qx.Tx()
if err != nil {
return
}
defer tx.Close(&err)
aliasID, err = tx.Insert(req)
if err != nil {
return
}
err = tx.Commit()
return
}
*/