From 51428e061dfac36f7675c6908dd3fd7ca2b90c3d Mon Sep 17 00:00:00 2001 From: Haelnorr Date: Thu, 5 Mar 2026 18:25:32 +1100 Subject: [PATCH] players now created with a name --- .gitignore | 1 + internal/db/player.go | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 7a77d4d..12b1593 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .env +.test.env *.db* .logs/ server.log diff --git a/internal/db/player.go b/internal/db/player.go index 27871cc..22520b2 100644 --- a/internal/db/player.go +++ b/internal/db/player.go @@ -28,14 +28,15 @@ func (p *Player) DisplayName() string { // NewPlayer creates a new player in the database. If there is an existing user with the same // discordID, it will automatically link that user to the player -func NewPlayer(ctx context.Context, tx bun.Tx, discordID string, audit *AuditMeta) (*Player, error) { - player := &Player{DiscordID: discordID} +func NewPlayer(ctx context.Context, tx bun.Tx, name, discordID string, audit *AuditMeta) (*Player, error) { + player := &Player{DiscordID: discordID, Name: name} user, err := GetUserByDiscordID(ctx, tx, discordID) if err != nil && !IsBadRequest(err) { return nil, errors.Wrap(err, "GetUserByDiscordID") } if user != nil { player.UserID = &user.ID + player.Name = user.Username } err = Insert(tx, player). WithAudit(audit, nil).Exec(ctx) @@ -45,6 +46,16 @@ func NewPlayer(ctx context.Context, tx bun.Tx, discordID string, audit *AuditMet return player, nil } +func NewPlayerFromLog(ctx context.Context, tx bun.Tx, name string, slapID uint32, audit *AuditMeta) (*Player, error) { + player := &Player{Name: name, SlapID: &slapID} + err := Insert(tx, player). + WithAudit(audit, nil).Exec(ctx) + if err != nil { + return nil, errors.Wrap(err, "Insert") + } + return player, nil +} + // ConnectPlayer links the user to an existing player, or creates a new player to link if not found // Populates User.Player on success func (u *User) ConnectPlayer(ctx context.Context, tx bun.Tx, audit *AuditMeta) error { @@ -56,7 +67,7 @@ func (u *User) ConnectPlayer(ctx context.Context, tx bun.Tx, audit *AuditMeta) e return errors.Wrap(err, "GetByField") } // Player doesn't exist, create a new one - player, err = NewPlayer(ctx, tx, u.DiscordID, audit) + player, err = NewPlayer(ctx, tx, u.Username, u.DiscordID, audit) if err != nil { return errors.Wrap(err, "NewPlayer") }