117 lines
1.7 KiB
Go
117 lines
1.7 KiB
Go
package domain
|
|
|
|
import (
|
|
"net/url"
|
|
"time"
|
|
)
|
|
|
|
const (
|
|
tribeNameMinLength = 1
|
|
tribeNameMaxLength = 255
|
|
tribeTagMinLength = 1
|
|
tribeTagMaxLength = 10
|
|
)
|
|
|
|
type Tribe struct {
|
|
id int
|
|
serverKey string
|
|
name string
|
|
tag string
|
|
numMembers int
|
|
numVillages int
|
|
points int
|
|
allPoints int
|
|
rank int
|
|
od OpponentsDefeated
|
|
profileURL *url.URL
|
|
dominance float64
|
|
bestRank int
|
|
bestRankAt time.Time
|
|
mostPoints int
|
|
mostPointsAt time.Time
|
|
mostVillages int
|
|
mostVillagesAt time.Time
|
|
createdAt time.Time
|
|
deletedAt time.Time
|
|
}
|
|
|
|
func (t Tribe) ID() int {
|
|
return t.id
|
|
}
|
|
|
|
func (t Tribe) ServerKey() string {
|
|
return t.serverKey
|
|
}
|
|
|
|
func (t Tribe) Name() string {
|
|
return t.name
|
|
}
|
|
|
|
func (t Tribe) Tag() string {
|
|
return t.tag
|
|
}
|
|
|
|
func (t Tribe) NumMembers() int {
|
|
return t.numMembers
|
|
}
|
|
|
|
func (t Tribe) NumVillages() int {
|
|
return t.numVillages
|
|
}
|
|
|
|
func (t Tribe) Points() int {
|
|
return t.points
|
|
}
|
|
|
|
func (t Tribe) AllPoints() int {
|
|
return t.allPoints
|
|
}
|
|
|
|
func (t Tribe) Rank() int {
|
|
return t.rank
|
|
}
|
|
|
|
func (t Tribe) OD() OpponentsDefeated {
|
|
return t.od
|
|
}
|
|
|
|
func (t Tribe) ProfileURL() *url.URL {
|
|
return t.profileURL
|
|
}
|
|
|
|
func (t Tribe) Dominance() float64 {
|
|
return t.dominance
|
|
}
|
|
|
|
func (t Tribe) BestRank() int {
|
|
return t.bestRank
|
|
}
|
|
|
|
func (t Tribe) BestRankAt() time.Time {
|
|
return t.bestRankAt
|
|
}
|
|
|
|
func (t Tribe) MostPoints() int {
|
|
return t.mostPoints
|
|
}
|
|
|
|
func (t Tribe) MostPointsAt() time.Time {
|
|
return t.mostPointsAt
|
|
}
|
|
|
|
func (t Tribe) MostVillages() int {
|
|
return t.mostVillages
|
|
}
|
|
|
|
func (t Tribe) MostVillagesAt() time.Time {
|
|
return t.mostVillagesAt
|
|
}
|
|
|
|
func (t Tribe) CreatedAt() time.Time {
|
|
return t.createdAt
|
|
}
|
|
|
|
func (t Tribe) DeletedAt() time.Time {
|
|
return t.deletedAt
|
|
}
|