/
uzer_007
/
Rixea
Обзор
Документация
Войти
/
uzer_007
/
Rixea
Код
Запросы
0
Задачи
Вики
Пакеты
5
Релизы
2
CI/CD
Аналитика
Безопасность
master
models/gituser/avatar_stack.go
44 строки
1 KB
uzer_007
feat: первая версия Rixea
02 авг 2026, 22:16
02 авг 2026, 22:16
d4f7504
Код
Авторство
О чём код?
// Copyright 2026 Uzer_007. All rights reserved. // SPDX-License-Identifier: MIT package gituser import ( "context" "gitverse.ru/uzer_007/Rixea/models/user" "gitverse.ru/uzer_007/Rixea/modules/git" "gitverse.ru/uzer_007/Rixea/modules/log" ) // AvatarStackData is the view-model for the AvatarStack render helpers. Participants[0] is // the primary participant (commit author), painted on top; the rest follow. type AvatarStackData struct { Participants []*CommitParticipant SearchByEmailLink string } func BuildAvatarStackData(ctx context.Context, allParticipants []*git.CommitIdentity, emailUserMap *user.EmailUserMap) *AvatarStackData { if emailUserMap == nil { emails := make([]string, len(allParticipants)) for i, sig := range allParticipants { emails[i] = sig.Email } var err error emailUserMap, err = user.GetUsersByEmails(ctx, emails) if err != nil { log.Error("GetUsersByEmails failed: %v", err) } } ret := &AvatarStackData{ Participants: make([]*CommitParticipant, 0, len(allParticipants)), } for _, p := range allParticipants { var giteaUser *user.User if emailUserMap != nil { giteaUser = emailUserMap.GetByEmail(p.Email) } ret.Participants = append(ret.Participants, &CommitParticipant{GiteaUser: giteaUser, GitIdentity: p}) } return ret }