playernames now added on creation

This commit is contained in:
2026-03-05 18:56:48 +11:00
parent 8fa086e3e8
commit 2b5c43cf61

View File

@@ -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)
@@ -56,7 +57,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")
}