Loading CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ The format is based on [keep a changelog](http://keepachangelog.com) and this pr - Improve consistency of authoritative match creation parameter handling. - Warn when using deprecated config parameters. - Improve tournament lookup behaviour. - Improve email import semantics when linking social accounts. ### Fixed - Fix log level in Lua runtime log calls which use logger fields. Loading server/core_authenticate.go +33 −27 Original line number Diff line number Diff line Loading @@ -101,7 +101,8 @@ func AuthenticateApple(ctx context.Context, logger *zap.Logger, db *sql.DB, clie return "", "", false, status.Error(codes.Internal, "Error finding or creating user account.") } // Import email address // Import email address, if it exists. if profile.Email != "" { _, err = db.ExecContext(ctx, "UPDATE users SET email = $1 WHERE id = $2", profile.Email, userID) if err != nil { var pgErr *pgconn.PgError Loading @@ -112,6 +113,7 @@ func AuthenticateApple(ctx context.Context, logger *zap.Logger, db *sql.DB, clie return "", "", false, status.Error(codes.Internal, "Error importing apple account email.") } } } return userID, username, true, nil } Loading Loading @@ -471,7 +473,8 @@ func AuthenticateFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, c return "", "", false, false, status.Error(codes.Internal, "Error finding or creating user account.") } // Import email address // Import email address, if it exists. if facebookProfile.Email != "" { _, err = db.ExecContext(ctx, "UPDATE users SET email = $1 WHERE id = $2", facebookProfile.Email, userID) if err != nil { var pgErr *pgconn.PgError Loading @@ -482,6 +485,7 @@ func AuthenticateFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, c return "", "", false, false, status.Error(codes.Internal, "Error importing facebook account email.") } } } return userID, username, true, importFriendsPossible, nil } Loading Loading @@ -725,7 +729,8 @@ func AuthenticateGoogle(ctx context.Context, logger *zap.Logger, db *sql.DB, cli return "", "", false, status.Error(codes.Internal, "Error finding or creating user account.") } // Import email address // Import email address, if it exists. if googleProfile.Email != "" { _, err = db.ExecContext(ctx, "UPDATE users SET email = $1 WHERE id = $2", googleProfile.Email, userID) if err != nil { var pgErr *pgconn.PgError Loading @@ -736,6 +741,7 @@ func AuthenticateGoogle(ctx context.Context, logger *zap.Logger, db *sql.DB, cli return "", "", false, status.Error(codes.Internal, "Error importing google account email.") } } } return userID, username, true, nil } Loading server/core_link.go +3 −3 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ func LinkApple(ctx context.Context, logger *zap.Logger, db *sql.DB, config Confi res, err := db.ExecContext(ctx, ` UPDATE users AS u SET apple_id = $2, email = COALESCE(NULLIF(u.email, ''), $3), update_time = now() SET apple_id = $2, email = NULLIF(COALESCE(NULLIF(u.email, ''), $3), ''), update_time = now() WHERE (id = $1) AND (NOT EXISTS (SELECT id Loading Loading @@ -206,7 +206,7 @@ func LinkFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, socialCli res, err := db.ExecContext(ctx, ` UPDATE users AS u SET facebook_id = $2, display_name = COALESCE(NULLIF(u.display_name, ''), $3), email = COALESCE(NULLIF(u.email, ''), $4), avatar_url = COALESCE(NULLIF(u.avatar_url, ''), $5), update_time = now() SET facebook_id = $2, display_name = COALESCE(NULLIF(u.display_name, ''), $3), email = NULLIF(COALESCE(NULLIF(u.email, ''), $4), ''), avatar_url = COALESCE(NULLIF(u.avatar_url, ''), $5), update_time = now() WHERE (id = $1) AND (NOT EXISTS (SELECT id Loading Loading @@ -329,7 +329,7 @@ func LinkGoogle(ctx context.Context, logger *zap.Logger, db *sql.DB, socialClien res, err := db.ExecContext(ctx, ` UPDATE users AS u SET google_id = $2, display_name = COALESCE(NULLIF(u.display_name, ''), $3), avatar_url = COALESCE(NULLIF(u.avatar_url, ''), $4), email = COALESCE(NULLIF(u.email, ''), $5), update_time = now() SET google_id = $2, display_name = COALESCE(NULLIF(u.display_name, ''), $3), avatar_url = COALESCE(NULLIF(u.avatar_url, ''), $4), email = NULLIF(COALESCE(NULLIF(u.email, ''), $5), ''), update_time = now() WHERE (id = $1) AND (NOT EXISTS (SELECT id Loading Loading
CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ The format is based on [keep a changelog](http://keepachangelog.com) and this pr - Improve consistency of authoritative match creation parameter handling. - Warn when using deprecated config parameters. - Improve tournament lookup behaviour. - Improve email import semantics when linking social accounts. ### Fixed - Fix log level in Lua runtime log calls which use logger fields. Loading
server/core_authenticate.go +33 −27 Original line number Diff line number Diff line Loading @@ -101,7 +101,8 @@ func AuthenticateApple(ctx context.Context, logger *zap.Logger, db *sql.DB, clie return "", "", false, status.Error(codes.Internal, "Error finding or creating user account.") } // Import email address // Import email address, if it exists. if profile.Email != "" { _, err = db.ExecContext(ctx, "UPDATE users SET email = $1 WHERE id = $2", profile.Email, userID) if err != nil { var pgErr *pgconn.PgError Loading @@ -112,6 +113,7 @@ func AuthenticateApple(ctx context.Context, logger *zap.Logger, db *sql.DB, clie return "", "", false, status.Error(codes.Internal, "Error importing apple account email.") } } } return userID, username, true, nil } Loading Loading @@ -471,7 +473,8 @@ func AuthenticateFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, c return "", "", false, false, status.Error(codes.Internal, "Error finding or creating user account.") } // Import email address // Import email address, if it exists. if facebookProfile.Email != "" { _, err = db.ExecContext(ctx, "UPDATE users SET email = $1 WHERE id = $2", facebookProfile.Email, userID) if err != nil { var pgErr *pgconn.PgError Loading @@ -482,6 +485,7 @@ func AuthenticateFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, c return "", "", false, false, status.Error(codes.Internal, "Error importing facebook account email.") } } } return userID, username, true, importFriendsPossible, nil } Loading Loading @@ -725,7 +729,8 @@ func AuthenticateGoogle(ctx context.Context, logger *zap.Logger, db *sql.DB, cli return "", "", false, status.Error(codes.Internal, "Error finding or creating user account.") } // Import email address // Import email address, if it exists. if googleProfile.Email != "" { _, err = db.ExecContext(ctx, "UPDATE users SET email = $1 WHERE id = $2", googleProfile.Email, userID) if err != nil { var pgErr *pgconn.PgError Loading @@ -736,6 +741,7 @@ func AuthenticateGoogle(ctx context.Context, logger *zap.Logger, db *sql.DB, cli return "", "", false, status.Error(codes.Internal, "Error importing google account email.") } } } return userID, username, true, nil } Loading
server/core_link.go +3 −3 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ func LinkApple(ctx context.Context, logger *zap.Logger, db *sql.DB, config Confi res, err := db.ExecContext(ctx, ` UPDATE users AS u SET apple_id = $2, email = COALESCE(NULLIF(u.email, ''), $3), update_time = now() SET apple_id = $2, email = NULLIF(COALESCE(NULLIF(u.email, ''), $3), ''), update_time = now() WHERE (id = $1) AND (NOT EXISTS (SELECT id Loading Loading @@ -206,7 +206,7 @@ func LinkFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, socialCli res, err := db.ExecContext(ctx, ` UPDATE users AS u SET facebook_id = $2, display_name = COALESCE(NULLIF(u.display_name, ''), $3), email = COALESCE(NULLIF(u.email, ''), $4), avatar_url = COALESCE(NULLIF(u.avatar_url, ''), $5), update_time = now() SET facebook_id = $2, display_name = COALESCE(NULLIF(u.display_name, ''), $3), email = NULLIF(COALESCE(NULLIF(u.email, ''), $4), ''), avatar_url = COALESCE(NULLIF(u.avatar_url, ''), $5), update_time = now() WHERE (id = $1) AND (NOT EXISTS (SELECT id Loading Loading @@ -329,7 +329,7 @@ func LinkGoogle(ctx context.Context, logger *zap.Logger, db *sql.DB, socialClien res, err := db.ExecContext(ctx, ` UPDATE users AS u SET google_id = $2, display_name = COALESCE(NULLIF(u.display_name, ''), $3), avatar_url = COALESCE(NULLIF(u.avatar_url, ''), $4), email = COALESCE(NULLIF(u.email, ''), $5), update_time = now() SET google_id = $2, display_name = COALESCE(NULLIF(u.display_name, ''), $3), avatar_url = COALESCE(NULLIF(u.avatar_url, ''), $4), email = NULLIF(COALESCE(NULLIF(u.email, ''), $5), ''), update_time = now() WHERE (id = $1) AND (NOT EXISTS (SELECT id Loading