Skip to content

Commit 1a603a4

Browse files
committed
Extract mapping lookup from loop
1 parent 9a87d73 commit 1a603a4

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

internal/authz/lookup.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,26 @@ import (
99
)
1010

1111
func AuthorizeEmailUse(ctx context.Context, username string, addrs []string, mapping module.Table) (bool, error) {
12-
for _, addr := range addrs {
13-
_, domain, err := address.Split(addr)
12+
var validEmails []string
13+
if multi, ok := mapping.(module.MultiTable); ok {
14+
validEmails, err = multi.LookupMulti(ctx, username)
1415
if err != nil {
1516
return false, fmt.Errorf("authz: %w", err)
1617
}
18+
} else {
19+
validEmail, ok, err := mapping.Lookup(ctx, username)
20+
if err != nil {
21+
return false, fmt.Errorf("authz: %w", err)
22+
}
23+
if ok {
24+
validEmails = []string{validEmail}
25+
}
26+
}
1727

18-
var validEmails []string
19-
if multi, ok := mapping.(module.MultiTable); ok {
20-
validEmails, err = multi.LookupMulti(ctx, username)
21-
if err != nil {
22-
return false, fmt.Errorf("authz: %w", err)
23-
}
24-
} else {
25-
validEmail, ok, err := mapping.Lookup(ctx, username)
26-
if err != nil {
27-
return false, fmt.Errorf("authz: %w", err)
28-
}
29-
if ok {
30-
validEmails = []string{validEmail}
31-
}
28+
for _, addr := range addrs {
29+
_, domain, err := address.Split(addr)
30+
if err != nil {
31+
return false, fmt.Errorf("authz: %w", err)
3232
}
3333

3434
for _, ent := range validEmails {

0 commit comments

Comments
 (0)