service

package
v0.3.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 10, 2022 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Ennoblement

type Ennoblement struct {
	// contains filtered or unexported fields
}

func NewEnnoblement

func NewEnnoblement(repo EnnoblementRepository, client EnnoblementGetter) *Ennoblement

func (*Ennoblement) List

func (*Ennoblement) Refresh

func (e *Ennoblement) Refresh(ctx context.Context, key, url string) error

type EnnoblementGetter

type EnnoblementGetter interface {
	GetEnnoblements(ctx context.Context, baseURL string, since time.Time) ([]tw.Ennoblement, error)
}

type EnnoblementPublisher

type EnnoblementPublisher interface {
	CmdRefresh(ctx context.Context, payloads ...domain.RefreshEnnoblementsCmdPayload) error
}

type EnnoblementRepository

type EnnoblementRepository interface {
	Create(ctx context.Context, params ...domain.CreateEnnoblementParams) error
	List(
		ctx context.Context,
		params domain.ListEnnoblementsParams,
	) ([]domain.EnnoblementWithRelations, int64, error)
}

type Job added in v0.3.0

type Job struct {
	// contains filtered or unexported fields
}

func NewJob added in v0.3.0

func NewJob(
	versionSvc VersionLister,
	serverSvc ServerLister,
	serverPublisher ServerPublisher,
	ennoblementPublisher EnnoblementPublisher,
	snapshotPublisher SnapshotPublisher,
) *Job

func (*Job) CreateSnapshots added in v0.3.0

func (j *Job) CreateSnapshots(ctx context.Context) error

func (*Job) UpdateData added in v0.3.0

func (j *Job) UpdateData(ctx context.Context) error

func (*Job) UpdateEnnoblements added in v0.3.0

func (j *Job) UpdateEnnoblements(ctx context.Context) error

type OpenServerConfigInfoGetter

type OpenServerConfigInfoGetter interface {
	GetOpenServers(ctx context.Context, baseURL string) ([]tw.Server, error)
	GetServerConfig(ctx context.Context, baseURL string) (tw.ServerConfig, error)
	GetBuildingInfo(ctx context.Context, baseURL string) (tw.BuildingInfo, error)
	GetUnitInfo(ctx context.Context, baseURL string) (tw.UnitInfo, error)
}

type Player

type Player struct {
	// contains filtered or unexported fields
}

func NewPlayer

func NewPlayer(repo PlayerRepository, client PlayerGetter) *Player

func (*Player) GetByServerKeyAndID

func (p *Player) GetByServerKeyAndID(
	ctx context.Context,
	serverKey string,
	id int64,
	includeTribe bool,
) (domain.PlayerWithRelations, error)

func (*Player) List

func (*Player) Refresh

func (p *Player) Refresh(ctx context.Context, key, url string) (int64, error)

type PlayerGetter

type PlayerGetter interface {
	GetPlayers(ctx context.Context, baseURL string) ([]tw.Player, error)
}

type PlayerLister added in v0.3.0

type PlayerLister interface {
	List(ctx context.Context, params domain.ListPlayersParams) ([]domain.PlayerWithRelations, int64, error)
}

type PlayerRepository

type PlayerRepository interface {
	CreateOrUpdate(ctx context.Context, params ...domain.CreatePlayerParams) error
	DeleteByID(ctx context.Context, ids ...int64) error
	List(ctx context.Context, params domain.ListPlayersParams) ([]domain.PlayerWithRelations, int64, error)
}

type PlayerSnapshot added in v0.3.0

type PlayerSnapshot struct {
	// contains filtered or unexported fields
}

func NewPlayerSnapshot added in v0.3.0

func NewPlayerSnapshot(repo PlayerSnapshotRepository, playerSvc PlayerLister) *PlayerSnapshot

func (*PlayerSnapshot) Create added in v0.3.0

func (p *PlayerSnapshot) Create(ctx context.Context, key string, date time.Time) error

type PlayerSnapshotRepository added in v0.3.0

type PlayerSnapshotRepository interface {
	Create(ctx context.Context, params ...domain.CreatePlayerSnapshotParams) error
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

func NewServer

func NewServer(repo ServerRepository, client OpenServerConfigInfoGetter) *Server

func (*Server) GetNormalByVersionCodeAndKey

func (s *Server) GetNormalByVersionCodeAndKey(ctx context.Context, versionCode, key string) (domain.Server, error)

func (*Server) List

func (s *Server) List(ctx context.Context, params domain.ListServersParams) ([]domain.Server, int64, error)

func (*Server) Refresh

func (s *Server) Refresh(ctx context.Context, host, versionCode string) ([]domain.Server, error)

func (*Server) UpdateInfoAndConfig

func (s *Server) UpdateInfoAndConfig(ctx context.Context, key, url string) error

func (*Server) UpdateNumPlayers

func (s *Server) UpdateNumPlayers(ctx context.Context, key string, numPlayers int64) error

func (*Server) UpdateNumTribes

func (s *Server) UpdateNumTribes(ctx context.Context, key string, numTribes int64) error

func (*Server) UpdateNumVillages

func (s *Server) UpdateNumVillages(ctx context.Context, key string, numVillages int64) error

func (*Server) UpdatePlayerSnapshotsCreatedAt added in v0.3.0

func (s *Server) UpdatePlayerSnapshotsCreatedAt(ctx context.Context, key string) error

func (*Server) UpdateTribeSnapshotsCreatedAt added in v0.3.0

func (s *Server) UpdateTribeSnapshotsCreatedAt(ctx context.Context, key string) error

type ServerLister

type ServerLister interface {
	List(ctx context.Context, params domain.ListServersParams) ([]domain.Server, int64, error)
}

type ServerPublisher

type ServerPublisher interface {
	CmdRefresh(ctx context.Context, payloads ...domain.RefreshServersCmdPayload) error
}

type ServerRepository

type ServerRepository interface {
	CreateOrUpdate(ctx context.Context, params ...domain.CreateServerParams) ([]domain.Server, error)
	List(ctx context.Context, params domain.ListServersParams) ([]domain.Server, int64, error)
	UpdateByKey(ctx context.Context, key string, params domain.UpdateServerParams) (domain.Server, error)
}

type SnapshotPublisher added in v0.3.0

type SnapshotPublisher interface {
	CmdCreatePlayers(ctx context.Context, payloads ...domain.CreateSnapshotsCmdPayload) error
	CmdCreateTribes(ctx context.Context, payloads ...domain.CreateSnapshotsCmdPayload) error
}

type Tribe

type Tribe struct {
	// contains filtered or unexported fields
}

func NewTribe

func NewTribe(repo TribeRepository, client TribeGetter) *Tribe

func (*Tribe) GetByServerKeyAndID

func (t *Tribe) GetByServerKeyAndID(ctx context.Context, serverKey string, id int64) (domain.Tribe, error)

func (*Tribe) GetByServerKeyAndTag

func (t *Tribe) GetByServerKeyAndTag(ctx context.Context, serverKey string, tag string) (domain.Tribe, error)

func (*Tribe) List

func (t *Tribe) List(ctx context.Context, params domain.ListTribesParams) ([]domain.Tribe, int64, error)

func (*Tribe) Refresh

func (t *Tribe) Refresh(ctx context.Context, key, url string) (int64, error)

func (*Tribe) UpdateDominance

func (t *Tribe) UpdateDominance(ctx context.Context, serverKey string, numPlayerVillages int64) error

type TribeGetter

type TribeGetter interface {
	GetTribes(ctx context.Context, baseURL string) ([]tw.Tribe, error)
}

type TribeLister added in v0.3.0

type TribeLister interface {
	List(ctx context.Context, params domain.ListTribesParams) ([]domain.Tribe, int64, error)
}

type TribeRepository

type TribeRepository interface {
	CreateOrUpdate(ctx context.Context, params ...domain.CreateTribeParams) error
	UpdateDominance(ctx context.Context, serverKey string, numVillages int64) error
	DeleteByID(ctx context.Context, ids ...int64) error
	List(ctx context.Context, params domain.ListTribesParams) ([]domain.Tribe, int64, error)
}

type TribeSnapshot added in v0.3.0

type TribeSnapshot struct {
	// contains filtered or unexported fields
}

func NewTribeSnapshot added in v0.3.0

func NewTribeSnapshot(repo TribeSnapshotRepository, tribeSvc TribeLister) *TribeSnapshot

func (*TribeSnapshot) Create added in v0.3.0

func (t *TribeSnapshot) Create(ctx context.Context, key string, date time.Time) error

type TribeSnapshotRepository added in v0.3.0

type TribeSnapshotRepository interface {
	Create(ctx context.Context, params ...domain.CreateTribeSnapshotParams) error
}

type Version

type Version struct {
	// contains filtered or unexported fields
}

func NewVersion

func NewVersion(repo VersionRepository) *Version

func (*Version) GetByCode

func (v *Version) GetByCode(ctx context.Context, code string) (domain.Version, error)

func (*Version) List

type VersionLister

type VersionLister interface {
	List(ctx context.Context, params domain.ListVersionsParams) ([]domain.Version, int64, error)
}

type VersionRepository

type VersionRepository interface {
	List(ctx context.Context, params domain.ListVersionsParams) ([]domain.Version, int64, error)
	GetByCode(ctx context.Context, code string) (domain.Version, error)
}

type Village

type Village struct {
	// contains filtered or unexported fields
}

func NewVillage

func NewVillage(repo VillageRepository, client VillageGetter) *Village

func (*Village) GetByServerKeyAndID

func (v *Village) GetByServerKeyAndID(
	ctx context.Context,
	serverKey string,
	id int64,
	includePlayer, includePlayerTribe bool,
) (domain.VillageWithRelations, error)

func (*Village) List

func (*Village) Refresh

func (v *Village) Refresh(ctx context.Context, key, url string) (domain.RefreshVillagesResult, error)

type VillageGetter

type VillageGetter interface {
	GetVillages(ctx context.Context, baseURL string) ([]tw.Village, error)
}

type VillageRepository

type VillageRepository interface {
	CreateOrUpdate(ctx context.Context, params ...domain.CreateVillageParams) error
	List(ctx context.Context, params domain.ListVillagesParams) ([]domain.VillageWithRelations, int64, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL