(cfg *config.Config, channel string, attributes map[string]string)
| 2601 | } |
| 2602 | |
| 2603 | func oauthModelAliasesForAuth(cfg *config.Config, channel string, attributes map[string]string) []config.OAuthModelAlias { |
| 2604 | perAuthAliases := coreauth.OAuthModelAliasesFromAttributes(attributes) |
| 2605 | if cfg == nil || len(cfg.OAuthModelAlias) == 0 { |
| 2606 | return perAuthAliases |
| 2607 | } |
| 2608 | globalAliases := cfg.OAuthModelAlias[channel] |
| 2609 | if len(perAuthAliases) == 0 { |
| 2610 | return globalAliases |
| 2611 | } |
| 2612 | if len(globalAliases) == 0 { |
| 2613 | return perAuthAliases |
| 2614 | } |
| 2615 | out := make([]config.OAuthModelAlias, 0, len(perAuthAliases)+len(globalAliases)) |
| 2616 | seenAlias := make(map[string]struct{}, len(perAuthAliases)+len(globalAliases)) |
| 2617 | add := func(aliases []config.OAuthModelAlias) { |
| 2618 | for _, entry := range aliases { |
| 2619 | alias := strings.TrimSpace(entry.Alias) |
| 2620 | if alias == "" { |
| 2621 | continue |
| 2622 | } |
| 2623 | key := strings.ToLower(alias) |
| 2624 | if _, exists := seenAlias[key]; exists { |
| 2625 | continue |
| 2626 | } |
| 2627 | seenAlias[key] = struct{}{} |
| 2628 | out = append(out, entry) |
| 2629 | } |
| 2630 | } |
| 2631 | add(perAuthAliases) |
| 2632 | add(globalAliases) |
| 2633 | return out |
| 2634 | } |
| 2635 | |
| 2636 | func applyOAuthModelAliasEntries(aliases []config.OAuthModelAlias, models []*ModelInfo) []*ModelInfo { |
| 2637 | type aliasEntry struct { |
no outgoing calls
no test coverage detected