add vehicle tracking, ESS samples

This commit is contained in:
41666 2024-10-28 23:00:40 -07:00
parent 4a528fe85a
commit 0fa1de3b4e
10 changed files with 824 additions and 7 deletions

View file

@ -10,10 +10,7 @@ import (
)
type IEventHandler interface {
HandleEvent(ctx context.Context, event types.ESSEvent)
HandleDeath(ctx context.Context, event types.ESSEvent)
HandleExperience(ctx context.Context, event types.ESSEvent)
HandleAnalytics(ctx context.Context, event types.ESSEvent)
HandleEvent(context.Context, types.ESSEvent)
}
type EventHandler struct {
@ -23,7 +20,8 @@ type EventHandler struct {
func NewEventHandler(db *sql.DB) EventHandler {
return EventHandler{
Ingest: &ingest.Ingest{
PlayerStore: store.NewPlayerStore(db),
PlayerStore: store.NewPlayerStore(db),
VehicleStore: store.NewVehicleStore(db),
},
}
}
@ -48,6 +46,7 @@ func (eh *EventHandler) HandleDeath(ctx context.Context, event types.ESSEvent) {
// log.Println("got pop event")
pe := types.PopEventFromESSEvent(event, false)
eh.Ingest.TrackPop(ctx, pe)
}
if event.AttackerCharacterID != "" && event.AttackerCharacterID != "0" && event.AttackerTeamID != 0 {

View file

@ -23,7 +23,7 @@ func (i *Ingest) TrackPop(ctx context.Context, event types.PopEvent) {
err := i.fixupPlayer(ctx, player)
if err != nil {
log.Println("ingest: player fixup failed, dropping event", err)
// log.Println("ingest: player fixup failed, dropping event", err)
return
}
@ -31,6 +31,16 @@ func (i *Ingest) TrackPop(ctx context.Context, event types.PopEvent) {
if err != nil {
log.Println("TrackPop Insert failed", err)
}
if event.VehicleName == "unknown" {
return
}
vehicle := event.ToVehicle()
err = i.VehicleStore.Insert(ctx, vehicle)
if err != nil {
log.Println("TrackVehicle Insert failed", err)
}
}
func (i *Ingest) fixupPlayer(ctx context.Context, player *types.Player) error {