From 8ebd66da40af968de61e3185601c5262e34c0b4e Mon Sep 17 00:00:00 2001 From: ice-cronus <105345303+ice-cronus@users.noreply.github.com> Date: Wed, 7 Aug 2024 17:47:49 +0300 Subject: [PATCH] fix issue with sending id when logging in with multiple devices in parallel --- auth/email_link/queue.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auth/email_link/queue.go b/auth/email_link/queue.go index 70fa9215..00fab258 100644 --- a/auth/email_link/queue.go +++ b/auth/email_link/queue.go @@ -215,7 +215,7 @@ func (c *client) dequeueNextEmails(ctx context.Context) (emailsBatch []string, s func (c *client) fetchLoginInformationForEmailBatch(ctx context.Context, now *time.Time, emails []string, limit int) ([]*emailLinkSignIn, error) { sql := fmt.Sprintf(` SELECT * FROM public.email_link_sign_ins - WHERE email = ANY($1) AND created_at > ($2::TIMESTAMP - (%[2]v * interval '1 second')) + WHERE email = ANY($1) AND created_at > ($2::TIMESTAMP - (%[2]v * interval '1 second')) AND (user_id is null or confirmation_code != user_id) ORDER BY created_at DESC LIMIT %[1]v;`, limit, c.cfg.EmailValidation.ExpirationTime.Seconds()) res, err := storage.Select[emailLinkSignIn](ctx, c.db, sql, emails, now.Time)