konfa-server/src/proto/mappers.go
2024-12-25 21:22:29 +03:00

57 lines
1.4 KiB
Go

package proto
import (
channelv1 "github.com/royalcat/konfa-server/src/proto/konfa/channel/v1"
chatv1 "github.com/royalcat/konfa-server/src/proto/konfa/chat/v1"
userv1 "github.com/royalcat/konfa-server/src/proto/konfa/user/v1"
"github.com/royalcat/konfa-server/src/store"
"google.golang.org/protobuf/types/known/timestamppb"
)
func mapMessage(msg store.Message) *chatv1.Message {
return &chatv1.Message{
MessageId: msg.ID.String(),
SenderId: msg.SenderID.String(),
Content: msg.Content,
Timestamp: timestamppb.New(msg.Timestamp),
}
}
func mapTextChannelToChannel(c store.TextChannel) *channelv1.Channel {
return &channelv1.Channel{
Channel: &channelv1.Channel_TextChannel{
TextChannel: mapTextChannel(c),
},
}
}
func mapVoiceChannelToChannel(c store.VoiceChannel) *channelv1.Channel {
return &channelv1.Channel{
Channel: &channelv1.Channel_VoiceChannel{
VoiceChannel: mapVoiceChannel(c),
},
}
}
func mapTextChannel(c store.TextChannel) *channelv1.TextChannel {
return &channelv1.TextChannel{
ServerId: c.ServerID.String(),
ChannelId: c.ID.String(),
Name: c.Name,
}
}
func mapVoiceChannel(c store.VoiceChannel) *channelv1.VoiceChannel {
return &channelv1.VoiceChannel{
ServerId: c.ServerID.String(),
ChannelId: c.ID.String(),
Name: c.Name,
}
}
func mapUser(c store.User) *userv1.User {
return &userv1.User{
Id: c.ID.String(),
Username: c.Username,
}
}