@@ -9,26 +9,28 @@ import (
99)
1010
1111func 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