This repository has been archived on 2022-10-02. You can view files and clone it, but cannot push or open issues or pull requests.
dcbot-old/model/server.go

33 lines
806 B
Go

package model
import (
"github.com/Kichiyaki/gopgutil/v10"
"github.com/go-pg/pg/v10"
"github.com/go-pg/pg/v10/orm"
)
type Server struct {
tableName struct{} `pg:",alias:server"`
ID string `pg:",pk" json:"id" gqlgen:"id"`
Lang string `pg:",use_zero"`
CoordsTranslation string `pg:",use_zero"`
Groups []*Group `pg:"rel:has-many"`
}
type ServerFilter struct {
ID []string
DefaultFilter
}
func (f *ServerFilter) ApplyWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
if len(f.ID) > 0 {
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("id", alias), pg.Array(f.ID))
}
return f.DefaultFilter.Apply(q)
}
func (f *ServerFilter) Apply(q *orm.Query) (*orm.Query, error) {
return f.ApplyWithAlias(q, "server")
}