package app

import (
	"evening_detective_server/internal/repos"
	proto "evening_detective_server/proto"

	"google.golang.org/protobuf/types/known/timestamppb"
)

// mapUser преобразует пользователя в proto-структуру. Возвращает nil для
// обезличенного автора (аккаунт удалён, контент сохранён) — клиент отображает
// такого автора как «Автор удалён».
func mapUser(o *repos.User) *proto.User {
	if o == nil {
		return nil
	}
	return &proto.User{
		Id:        int32(o.ID),
		Username:  o.Username,
		Email:     o.Email,
		Roles:     o.Roles,
		IsActive:  o.IsActive,
		CreatedAt: timestamppb.New(o.CreatedAt),
	}
}
