MCPcopy
hub / github.com/tinode/chat / pbCliSerialize

Function pbCliSerialize

server/pbconverter.go:240–388  ·  view source on GitHub ↗

Convert ClientComMessage to pbx.ClientMsg

(msg *ClientComMessage)

Source from the content-addressed store, hash-verified

238
239// Convert ClientComMessage to pbx.ClientMsg
240func pbCliSerialize(msg *ClientComMessage) *pbx.ClientMsg {
241 var pkt pbx.ClientMsg
242
243 switch {
244 case msg.Hi != nil:
245 pkt.Message = &pbx.ClientMsg_Hi{
246 Hi: &pbx.ClientHi{
247 Id: msg.Hi.Id,
248 UserAgent: msg.Hi.UserAgent,
249 Ver: msg.Hi.Version,
250 DeviceId: msg.Hi.DeviceID,
251 Platform: msg.Hi.Platform,
252 Lang: msg.Hi.Lang,
253 Background: msg.Hi.Background,
254 },
255 }
256 case msg.Acc != nil:
257 var authLevel pbx.AuthLevel
258 switch msg.Acc.AuthLevel {
259 case "NONE", "none", "":
260 authLevel = pbx.AuthLevel_NONE
261 case "ANON", "anon":
262 authLevel = pbx.AuthLevel_ANON
263 case "AUTH", "auth":
264 authLevel = pbx.AuthLevel_AUTH
265 case "ROOT", "root":
266 // No support for ROOT here.
267 authLevel = pbx.AuthLevel_NONE
268 }
269 pkt.Message = &pbx.ClientMsg_Acc{
270 Acc: &pbx.ClientAcc{
271 Id: msg.Acc.Id,
272 UserId: msg.Acc.User,
273 State: msg.Acc.State,
274 TmpScheme: msg.Acc.TmpScheme,
275 TmpSecret: msg.Acc.TmpSecret,
276 AuthLevel: authLevel,
277 Scheme: msg.Acc.Scheme,
278 Secret: msg.Acc.Secret,
279 Login: msg.Acc.Login,
280 Tags: msg.Acc.Tags,
281 Cred: pbClientCredsSerialize(msg.Acc.Cred),
282 Desc: pbSetDescSerialize(msg.Acc.Desc),
283 },
284 }
285 case msg.Login != nil:
286 pkt.Message = &pbx.ClientMsg_Login{
287 Login: &pbx.ClientLogin{
288 Id: msg.Login.Id,
289 Scheme: msg.Login.Scheme,
290 Secret: msg.Login.Secret,
291 Cred: pbClientCredsSerialize(msg.Login.Cred),
292 },
293 }
294 case msg.Sub != nil:
295 pkt.Message = &pbx.ClientMsg_Sub{
296 Sub: &pbx.ClientSub{
297 Id: msg.Sub.Id,

Callers 1

pluginGenerateClientReqFunction · 0.85

Calls 11

AuthLevelTypeAlias · 0.92
pbClientCredsSerializeFunction · 0.85
pbSetDescSerializeFunction · 0.85
pbSetQuerySerializeFunction · 0.85
pbGetQuerySerializeFunction · 0.85
interfaceMapToByteMapFunction · 0.85
interfaceToBytesFunction · 0.85
pbDelQuerySerializeFunction · 0.85
pbClientCredSerializeFunction · 0.85
pbInfoNoteWhatSerializeFunction · 0.85
pbCallEventSerializeFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…