Skip to content

Commit ca44d0e

Browse files
authored
Merge pull request #566 from arisudesu-forks/loop-extract
Extract mapping lookup from loop
2 parents a7001ab + ff52e69 commit ca44d0e

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

internal/authz/lookup.go

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,28 @@ 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+
14+
if multi, ok := mapping.(module.MultiTable); ok {
15+
var err error
16+
validEmails, err = multi.LookupMulti(ctx, username)
17+
if err != nil {
18+
return false, fmt.Errorf("authz: %w", err)
19+
}
20+
} else {
21+
validEmail, ok, err := mapping.Lookup(ctx, username)
1422
if err != nil {
1523
return false, fmt.Errorf("authz: %w", err)
1624
}
25+
if ok {
26+
validEmails = []string{validEmail}
27+
}
28+
}
1729

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-
}
30+
for _, addr := range addrs {
31+
_, domain, err := address.Split(addr)
32+
if err != nil {
33+
return false, fmt.Errorf("authz: %w", err)
3234
}
3335

3436
for _, ent := range validEmails {

0 commit comments

Comments
 (0)