57 lines
1.4 KiB
Go
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,
|
|
}
|
|
}
|