dcbot/internal/domain/tw.go
Dawid Wysokiński a8f309c299
All checks were successful
continuous-integration/drone/push Build is passing
refactor: introduce adapters (#114)
Reviewed-on: #114
2023-07-03 06:23:32 +00:00

144 lines
2.6 KiB
Go

package domain
import (
"fmt"
"time"
)
type TWVersion struct {
Code string
Host string
Name string
Timezone string
}
type TWServer struct {
Key string
URL string
Open bool
}
type Tribe struct {
ID int64
Tag string
Name string
ProfileURL string
DeletedAt time.Time
}
type TribeMeta struct {
ID int64
Name string
Tag string
ProfileURL string
}
type NullTribeMeta struct {
Tribe TribeMeta
Valid bool
}
type PlayerMeta struct {
ID int64
Name string
ProfileURL string
Tribe NullTribeMeta
}
type NullPlayerMeta struct {
Player PlayerMeta
Valid bool
}
type Village struct {
ID int64
FullName string
ProfileURL string
Points int64
Player NullPlayerMeta
}
type VillageMeta struct {
ID int64
FullName string
ProfileURL string
Player NullPlayerMeta
}
type Ennoblement struct {
ID int64
Village VillageMeta
NewOwner NullPlayerMeta
CreatedAt time.Time
}
type TWServerNotFoundError struct {
VersionCode string
Key string
}
var _ TranslatableError = TWServerNotFoundError{}
func (e TWServerNotFoundError) Error() string {
return fmt.Sprintf("server (versionCode=%s,key=%s) not found", e.VersionCode, e.Key)
}
func (e TWServerNotFoundError) Slug() string {
return "tw-server-not-found"
}
func (e TWServerNotFoundError) Params() map[string]any {
return map[string]any{
"VersionCode": e.VersionCode,
"Key": e.Key,
}
}
type TribeTagNotFoundError struct {
VersionCode string
ServerKey string
Tag string
}
var _ TranslatableError = TribeTagNotFoundError{}
func (e TribeTagNotFoundError) Error() string {
return fmt.Sprintf("tribe (versionCode=%s,serverKey=%s,tag=%s) not found", e.VersionCode, e.ServerKey, e.Tag)
}
func (e TribeTagNotFoundError) Slug() string {
return "tribe-tag-not-found"
}
func (e TribeTagNotFoundError) Params() map[string]any {
return map[string]any{
"VersionCode": e.VersionCode,
"ServerKey": e.ServerKey,
"Tag": e.Tag,
}
}
type TribeIDNotFoundError struct {
VersionCode string
ServerKey string
ID int64
}
var _ TranslatableError = TribeIDNotFoundError{}
func (e TribeIDNotFoundError) Error() string {
return fmt.Sprintf("tribe (versionCode=%s,serverKey=%s,id=%d) not found", e.VersionCode, e.ServerKey, e.ID)
}
func (e TribeIDNotFoundError) Slug() string {
return "tribe-id-not-found"
}
func (e TribeIDNotFoundError) Params() map[string]any {
return map[string]any{
"VersionCode": e.VersionCode,
"ServerKey": e.ServerKey,
"ID": e.ID,
}
}