1
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct Account {
4
5 #[prost(message, optional, tag = "1")]
6 pub user: ::core::option::Option<User>,
7
8 #[prost(string, tag = "2")]
9 pub wallet: ::prost::alloc::string::String,
10
11 #[prost(string, tag = "3")]
12 pub email: ::prost::alloc::string::String,
13
14 #[prost(message, repeated, tag = "4")]
15 pub devices: ::prost::alloc::vec::Vec<AccountDevice>,
16
17 #[prost(string, tag = "5")]
18 pub custom_id: ::prost::alloc::string::String,
19
20 #[prost(message, optional, tag = "6")]
21 pub verify_time: ::core::option::Option<::prost_types::Timestamp>,
22
23 #[prost(message, optional, tag = "7")]
24 pub disable_time: ::core::option::Option<::prost_types::Timestamp>,
25}
26
27#[derive(Clone, PartialEq, ::prost::Message)]
28pub struct AccountRefresh {
29
30 #[prost(string, tag = "1")]
31 pub token: ::prost::alloc::string::String,
32
33 #[prost(map = "string, string", tag = "2")]
34 pub vars:
35 ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
36}
37
38#[derive(Clone, PartialEq, ::prost::Message)]
39pub struct AccountApple {
40
41 #[prost(string, tag = "1")]
42 pub token: ::prost::alloc::string::String,
43
44 #[prost(map = "string, string", tag = "2")]
45 pub vars:
46 ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
47}
48
49#[derive(Clone, PartialEq, ::prost::Message)]
50pub struct AccountCustom {
51
52 #[prost(string, tag = "1")]
53 pub id: ::prost::alloc::string::String,
54
55 #[prost(map = "string, string", tag = "2")]
56 pub vars:
57 ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
58}
59
60#[derive(Clone, PartialEq, ::prost::Message)]
61pub struct AccountDevice {
62
63 #[prost(string, tag = "1")]
64 pub id: ::prost::alloc::string::String,
65
66 #[prost(map = "string, string", tag = "2")]
67 pub vars:
68 ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
69}
70
71#[derive(Clone, PartialEq, ::prost::Message)]
72pub struct AccountEmail {
73
74 #[prost(string, tag = "1")]
75 pub email: ::prost::alloc::string::String,
76
77
78
79 #[prost(string, tag = "2")]
80 pub password: ::prost::alloc::string::String,
81
82 #[prost(map = "string, string", tag = "3")]
83 pub vars:
84 ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
85}
86
87#[derive(Clone, PartialEq, ::prost::Message)]
88pub struct AccountFacebook {
89
90 #[prost(string, tag = "1")]
91 pub token: ::prost::alloc::string::String,
92
93 #[prost(map = "string, string", tag = "2")]
94 pub vars:
95 ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
96}
97
98#[derive(Clone, PartialEq, ::prost::Message)]
99pub struct AccountFacebookInstantGame {
100
101 #[prost(string, tag = "1")]
102 pub signed_player_info: ::prost::alloc::string::String,
103
104 #[prost(map = "string, string", tag = "2")]
105 pub vars:
106 ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
107}
108
109
110
111#[derive(Clone, PartialEq, ::prost::Message)]
112pub struct AccountGameCenter {
113
114 #[prost(string, tag = "1")]
115 pub player_id: ::prost::alloc::string::String,
116
117 #[prost(string, tag = "2")]
118 pub bundle_id: ::prost::alloc::string::String,
119
120 #[prost(int64, tag = "3")]
121 pub timestamp_seconds: i64,
122
123 #[prost(string, tag = "4")]
124 pub salt: ::prost::alloc::string::String,
125
126 #[prost(string, tag = "5")]
127 pub signature: ::prost::alloc::string::String,
128
129 #[prost(string, tag = "6")]
130 pub public_key_url: ::prost::alloc::string::String,
131
132 #[prost(map = "string, string", tag = "7")]
133 pub vars:
134 ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
135}
136
137#[derive(Clone, PartialEq, ::prost::Message)]
138pub struct AccountGoogle {
139
140 #[prost(string, tag = "1")]
141 pub token: ::prost::alloc::string::String,
142
143 #[prost(map = "string, string", tag = "2")]
144 pub vars:
145 ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
146}
147
148#[derive(Clone, PartialEq, ::prost::Message)]
149pub struct AccountSteam {
150
151 #[prost(string, tag = "1")]
152 pub token: ::prost::alloc::string::String,
153
154 #[prost(map = "string, string", tag = "2")]
155 pub vars:
156 ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
157}
158
159#[derive(Clone, PartialEq, ::prost::Message)]
160pub struct AddFriendsRequest {
161
162 #[prost(string, repeated, tag = "1")]
163 pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
164
165 #[prost(string, repeated, tag = "2")]
166 pub usernames: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
167}
168
169#[derive(Clone, PartialEq, ::prost::Message)]
170pub struct AddGroupUsersRequest {
171
172 #[prost(string, tag = "1")]
173 pub group_id: ::prost::alloc::string::String,
174
175 #[prost(string, repeated, tag = "2")]
176 pub user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
177}
178
179#[derive(Clone, PartialEq, ::prost::Message)]
180pub struct SessionRefreshRequest {
181
182 #[prost(string, tag = "1")]
183 pub token: ::prost::alloc::string::String,
184
185 #[prost(map = "string, string", tag = "2")]
186 pub vars:
187 ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
188}
189
190#[derive(Clone, PartialEq, ::prost::Message)]
191pub struct AuthenticateAppleRequest {
192
193 #[prost(message, optional, tag = "1")]
194 pub account: ::core::option::Option<AccountApple>,
195
196 #[prost(message, optional, tag = "2")]
197 pub create: ::core::option::Option<bool>,
198
199 #[prost(string, tag = "3")]
200 pub username: ::prost::alloc::string::String,
201}
202
203#[derive(Clone, PartialEq, ::prost::Message)]
204pub struct AuthenticateCustomRequest {
205
206 #[prost(message, optional, tag = "1")]
207 pub account: ::core::option::Option<AccountCustom>,
208
209 #[prost(message, optional, tag = "2")]
210 pub create: ::core::option::Option<bool>,
211
212 #[prost(string, tag = "3")]
213 pub username: ::prost::alloc::string::String,
214}
215
216#[derive(Clone, PartialEq, ::prost::Message)]
217pub struct AuthenticateDeviceRequest {
218
219 #[prost(message, optional, tag = "1")]
220 pub account: ::core::option::Option<AccountDevice>,
221
222 #[prost(message, optional, tag = "2")]
223 pub create: ::core::option::Option<bool>,
224
225 #[prost(string, tag = "3")]
226 pub username: ::prost::alloc::string::String,
227}
228
229#[derive(Clone, PartialEq, ::prost::Message)]
230pub struct AuthenticateEmailRequest {
231
232 #[prost(message, optional, tag = "1")]
233 pub account: ::core::option::Option<AccountEmail>,
234
235 #[prost(message, optional, tag = "2")]
236 pub create: ::core::option::Option<bool>,
237
238 #[prost(string, tag = "3")]
239 pub username: ::prost::alloc::string::String,
240}
241
242#[derive(Clone, PartialEq, ::prost::Message)]
243pub struct AuthenticateFacebookRequest {
244
245 #[prost(message, optional, tag = "1")]
246 pub account: ::core::option::Option<AccountFacebook>,
247
248 #[prost(message, optional, tag = "2")]
249 pub create: ::core::option::Option<bool>,
250
251 #[prost(string, tag = "3")]
252 pub username: ::prost::alloc::string::String,
253
254 #[prost(message, optional, tag = "4")]
255 pub sync: ::core::option::Option<bool>,
256}
257
258#[derive(Clone, PartialEq, ::prost::Message)]
259pub struct AuthenticateFacebookInstantGameRequest {
260
261 #[prost(message, optional, tag = "1")]
262 pub account: ::core::option::Option<AccountFacebookInstantGame>,
263
264 #[prost(message, optional, tag = "2")]
265 pub create: ::core::option::Option<bool>,
266
267 #[prost(string, tag = "3")]
268 pub username: ::prost::alloc::string::String,
269}
270
271#[derive(Clone, PartialEq, ::prost::Message)]
272pub struct AuthenticateGameCenterRequest {
273
274 #[prost(message, optional, tag = "1")]
275 pub account: ::core::option::Option<AccountGameCenter>,
276
277 #[prost(message, optional, tag = "2")]
278 pub create: ::core::option::Option<bool>,
279
280 #[prost(string, tag = "3")]
281 pub username: ::prost::alloc::string::String,
282}
283
284#[derive(Clone, PartialEq, ::prost::Message)]
285pub struct AuthenticateGoogleRequest {
286
287 #[prost(message, optional, tag = "1")]
288 pub account: ::core::option::Option<AccountGoogle>,
289
290 #[prost(message, optional, tag = "2")]
291 pub create: ::core::option::Option<bool>,
292
293 #[prost(string, tag = "3")]
294 pub username: ::prost::alloc::string::String,
295}
296
297#[derive(Clone, PartialEq, ::prost::Message)]
298pub struct AuthenticateSteamRequest {
299
300 #[prost(message, optional, tag = "1")]
301 pub account: ::core::option::Option<AccountSteam>,
302
303 #[prost(message, optional, tag = "2")]
304 pub create: ::core::option::Option<bool>,
305
306 #[prost(string, tag = "3")]
307 pub username: ::prost::alloc::string::String,
308}
309
310#[derive(Clone, PartialEq, ::prost::Message)]
311pub struct BanGroupUsersRequest {
312
313 #[prost(string, tag = "1")]
314 pub group_id: ::prost::alloc::string::String,
315
316 #[prost(string, repeated, tag = "2")]
317 pub user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
318}
319
320#[derive(Clone, PartialEq, ::prost::Message)]
321pub struct BlockFriendsRequest {
322
323 #[prost(string, repeated, tag = "1")]
324 pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
325
326 #[prost(string, repeated, tag = "2")]
327 pub usernames: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
328}
329
330#[derive(Clone, PartialEq, ::prost::Message)]
331pub struct ChannelMessage {
332
333 #[prost(string, tag = "1")]
334 pub channel_id: ::prost::alloc::string::String,
335
336 #[prost(string, tag = "2")]
337 pub message_id: ::prost::alloc::string::String,
338
339 #[prost(message, optional, tag = "3")]
340 pub code: ::core::option::Option<i32>,
341
342 #[prost(string, tag = "4")]
343 pub sender_id: ::prost::alloc::string::String,
344
345 #[prost(string, tag = "5")]
346 pub username: ::prost::alloc::string::String,
347
348 #[prost(string, tag = "6")]
349 pub content: ::prost::alloc::string::String,
350
351 #[prost(message, optional, tag = "7")]
352 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
353
354 #[prost(message, optional, tag = "8")]
355 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
356
357 #[prost(message, optional, tag = "9")]
358 pub persistent: ::core::option::Option<bool>,
359
360 #[prost(string, tag = "10")]
361 pub room_name: ::prost::alloc::string::String,
362
363 #[prost(string, tag = "11")]
364 pub group_id: ::prost::alloc::string::String,
365
366 #[prost(string, tag = "12")]
367 pub user_id_one: ::prost::alloc::string::String,
368
369 #[prost(string, tag = "13")]
370 pub user_id_two: ::prost::alloc::string::String,
371}
372
373#[derive(Clone, PartialEq, ::prost::Message)]
374pub struct ChannelMessageList {
375
376 #[prost(message, repeated, tag = "1")]
377 pub messages: ::prost::alloc::vec::Vec<ChannelMessage>,
378
379 #[prost(string, tag = "2")]
380 pub next_cursor: ::prost::alloc::string::String,
381
382 #[prost(string, tag = "3")]
383 pub prev_cursor: ::prost::alloc::string::String,
384
385 #[prost(string, tag = "4")]
386 pub cacheable_cursor: ::prost::alloc::string::String,
387}
388
389#[derive(Clone, PartialEq, ::prost::Message)]
390pub struct CreateGroupRequest {
391
392 #[prost(string, tag = "1")]
393 pub name: ::prost::alloc::string::String,
394
395 #[prost(string, tag = "2")]
396 pub description: ::prost::alloc::string::String,
397
398 #[prost(string, tag = "3")]
399 pub lang_tag: ::prost::alloc::string::String,
400
401 #[prost(string, tag = "4")]
402 pub avatar_url: ::prost::alloc::string::String,
403
404 #[prost(bool, tag = "5")]
405 pub open: bool,
406
407 #[prost(int32, tag = "6")]
408 pub max_count: i32,
409}
410
411#[derive(Clone, PartialEq, ::prost::Message)]
412pub struct DeleteFriendsRequest {
413
414 #[prost(string, repeated, tag = "1")]
415 pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
416
417 #[prost(string, repeated, tag = "2")]
418 pub usernames: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
419}
420
421#[derive(Clone, PartialEq, ::prost::Message)]
422pub struct DeleteGroupRequest {
423
424 #[prost(string, tag = "1")]
425 pub group_id: ::prost::alloc::string::String,
426}
427
428#[derive(Clone, PartialEq, ::prost::Message)]
429pub struct DeleteLeaderboardRecordRequest {
430
431 #[prost(string, tag = "1")]
432 pub leaderboard_id: ::prost::alloc::string::String,
433}
434
435#[derive(Clone, PartialEq, ::prost::Message)]
436pub struct DeleteNotificationsRequest {
437
438 #[prost(string, repeated, tag = "1")]
439 pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
440}
441
442#[derive(Clone, PartialEq, ::prost::Message)]
443pub struct DeleteStorageObjectId {
444
445 #[prost(string, tag = "1")]
446 pub collection: ::prost::alloc::string::String,
447
448 #[prost(string, tag = "2")]
449 pub key: ::prost::alloc::string::String,
450
451 #[prost(string, tag = "3")]
452 pub version: ::prost::alloc::string::String,
453}
454
455#[derive(Clone, PartialEq, ::prost::Message)]
456pub struct DeleteStorageObjectsRequest {
457
458 #[prost(message, repeated, tag = "1")]
459 pub object_ids: ::prost::alloc::vec::Vec<DeleteStorageObjectId>,
460}
461
462#[derive(Clone, PartialEq, ::prost::Message)]
463pub struct Event {
464
465 #[prost(string, tag = "1")]
466 pub name: ::prost::alloc::string::String,
467
468 #[prost(map = "string, string", tag = "2")]
469 pub properties:
470 ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
471
472 #[prost(message, optional, tag = "3")]
473 pub timestamp: ::core::option::Option<::prost_types::Timestamp>,
474
475 #[prost(bool, tag = "4")]
476 pub external: bool,
477}
478
479#[derive(Clone, PartialEq, ::prost::Message)]
480pub struct Friend {
481
482 #[prost(message, optional, tag = "1")]
483 pub user: ::core::option::Option<User>,
484
485
486
487 #[prost(message, optional, tag = "2")]
488 pub state: ::core::option::Option<i32>,
489
490 #[prost(message, optional, tag = "3")]
491 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
492}
493
494pub mod friend {
495
496 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
497 #[repr(i32)]
498 pub enum State {
499
500 Friend = 0,
501
502 InviteSent = 1,
503
504 InviteReceived = 2,
505
506 Blocked = 3,
507 }
508}
509
510#[derive(Clone, PartialEq, ::prost::Message)]
511pub struct FriendList {
512
513 #[prost(message, repeated, tag = "1")]
514 pub friends: ::prost::alloc::vec::Vec<Friend>,
515
516 #[prost(string, tag = "2")]
517 pub cursor: ::prost::alloc::string::String,
518}
519
520#[derive(Clone, PartialEq, ::prost::Message)]
521pub struct GetUsersRequest {
522
523 #[prost(string, repeated, tag = "1")]
524 pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
525
526 #[prost(string, repeated, tag = "2")]
527 pub usernames: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
528
529 #[prost(string, repeated, tag = "3")]
530 pub facebook_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
531}
532
533#[derive(Clone, PartialEq, ::prost::Message)]
534pub struct Group {
535
536 #[prost(string, tag = "1")]
537 pub id: ::prost::alloc::string::String,
538
539 #[prost(string, tag = "2")]
540 pub creator_id: ::prost::alloc::string::String,
541
542 #[prost(string, tag = "3")]
543 pub name: ::prost::alloc::string::String,
544
545 #[prost(string, tag = "4")]
546 pub description: ::prost::alloc::string::String,
547
548 #[prost(string, tag = "5")]
549 pub lang_tag: ::prost::alloc::string::String,
550
551 #[prost(string, tag = "6")]
552 pub metadata: ::prost::alloc::string::String,
553
554 #[prost(string, tag = "7")]
555 pub avatar_url: ::prost::alloc::string::String,
556
557 #[prost(message, optional, tag = "8")]
558 pub open: ::core::option::Option<bool>,
559
560 #[prost(int32, tag = "9")]
561 pub edge_count: i32,
562
563 #[prost(int32, tag = "10")]
564 pub max_count: i32,
565
566 #[prost(message, optional, tag = "11")]
567 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
568
569 #[prost(message, optional, tag = "12")]
570 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
571}
572
573#[derive(Clone, PartialEq, ::prost::Message)]
574pub struct GroupList {
575
576 #[prost(message, repeated, tag = "1")]
577 pub groups: ::prost::alloc::vec::Vec<Group>,
578
579 #[prost(string, tag = "2")]
580 pub cursor: ::prost::alloc::string::String,
581}
582
583#[derive(Clone, PartialEq, ::prost::Message)]
584pub struct GroupUserList {
585
586 #[prost(message, repeated, tag = "1")]
587 pub group_users: ::prost::alloc::vec::Vec<group_user_list::GroupUser>,
588
589 #[prost(string, tag = "2")]
590 pub cursor: ::prost::alloc::string::String,
591}
592
593pub mod group_user_list {
594
595 #[derive(Clone, PartialEq, ::prost::Message)]
596 pub struct GroupUser {
597
598 #[prost(message, optional, tag = "1")]
599 pub user: ::core::option::Option<super::User>,
600
601 #[prost(message, optional, tag = "2")]
602 pub state: ::core::option::Option<i32>,
603 }
604
605 pub mod group_user {
606
607 #[derive(
608 Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration,
609 )]
610 #[repr(i32)]
611 pub enum State {
612
613 Superadmin = 0,
614
615 Admin = 1,
616
617 Member = 2,
618
619 JoinRequest = 3,
620 }
621 }
622}
623
624#[derive(Clone, PartialEq, ::prost::Message)]
625pub struct ImportFacebookFriendsRequest {
626
627 #[prost(message, optional, tag = "1")]
628 pub account: ::core::option::Option<AccountFacebook>,
629
630 #[prost(message, optional, tag = "2")]
631 pub reset: ::core::option::Option<bool>,
632}
633
634#[derive(Clone, PartialEq, ::prost::Message)]
635pub struct JoinGroupRequest {
636
637 #[prost(string, tag = "1")]
638 pub group_id: ::prost::alloc::string::String,
639}
640
641#[derive(Clone, PartialEq, ::prost::Message)]
642pub struct JoinTournamentRequest {
643
644 #[prost(string, tag = "1")]
645 pub tournament_id: ::prost::alloc::string::String,
646}
647
648#[derive(Clone, PartialEq, ::prost::Message)]
649pub struct KickGroupUsersRequest {
650
651 #[prost(string, tag = "1")]
652 pub group_id: ::prost::alloc::string::String,
653
654 #[prost(string, repeated, tag = "2")]
655 pub user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
656}
657
658#[derive(Clone, PartialEq, ::prost::Message)]
659pub struct LeaderboardRecord {
660
661 #[prost(string, tag = "1")]
662 pub leaderboard_id: ::prost::alloc::string::String,
663
664 #[prost(string, tag = "2")]
665 pub owner_id: ::prost::alloc::string::String,
666
667 #[prost(message, optional, tag = "3")]
668 pub username: ::core::option::Option<::prost::alloc::string::String>,
669
670 #[prost(int64, tag = "4")]
671 pub score: i64,
672
673 #[prost(int64, tag = "5")]
674 pub subscore: i64,
675
676 #[prost(int32, tag = "6")]
677 pub num_score: i32,
678
679 #[prost(string, tag = "7")]
680 pub metadata: ::prost::alloc::string::String,
681
682 #[prost(message, optional, tag = "8")]
683 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
684
685 #[prost(message, optional, tag = "9")]
686 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
687
688 #[prost(message, optional, tag = "10")]
689 pub expiry_time: ::core::option::Option<::prost_types::Timestamp>,
690
691 #[prost(int64, tag = "11")]
692 pub rank: i64,
693
694 #[prost(uint32, tag = "12")]
695 pub max_num_score: u32,
696}
697
698#[derive(Clone, PartialEq, ::prost::Message)]
699pub struct LeaderboardRecordList {
700
701 #[prost(message, repeated, tag = "1")]
702 pub records: ::prost::alloc::vec::Vec<LeaderboardRecord>,
703
704 #[prost(message, repeated, tag = "2")]
705 pub owner_records: ::prost::alloc::vec::Vec<LeaderboardRecord>,
706
707 #[prost(string, tag = "3")]
708 pub next_cursor: ::prost::alloc::string::String,
709
710 #[prost(string, tag = "4")]
711 pub prev_cursor: ::prost::alloc::string::String,
712}
713
714#[derive(Clone, PartialEq, ::prost::Message)]
715pub struct LeaveGroupRequest {
716
717 #[prost(string, tag = "1")]
718 pub group_id: ::prost::alloc::string::String,
719}
720
721#[derive(Clone, PartialEq, ::prost::Message)]
722pub struct LinkFacebookRequest {
723
724 #[prost(message, optional, tag = "1")]
725 pub account: ::core::option::Option<AccountFacebook>,
726
727 #[prost(message, optional, tag = "4")]
728 pub sync: ::core::option::Option<bool>,
729}
730
731#[derive(Clone, PartialEq, ::prost::Message)]
732pub struct ListChannelMessagesRequest {
733
734 #[prost(string, tag = "1")]
735 pub channel_id: ::prost::alloc::string::String,
736
737 #[prost(message, optional, tag = "2")]
738 pub limit: ::core::option::Option<i32>,
739
740 #[prost(message, optional, tag = "3")]
741 pub forward: ::core::option::Option<bool>,
742
743 #[prost(string, tag = "4")]
744 pub cursor: ::prost::alloc::string::String,
745}
746
747#[derive(Clone, PartialEq, ::prost::Message)]
748pub struct ListFriendsRequest {
749
750 #[prost(message, optional, tag = "1")]
751 pub limit: ::core::option::Option<i32>,
752
753 #[prost(message, optional, tag = "2")]
754 pub state: ::core::option::Option<i32>,
755
756 #[prost(string, tag = "3")]
757 pub cursor: ::prost::alloc::string::String,
758}
759
760#[derive(Clone, PartialEq, ::prost::Message)]
761pub struct ListGroupsRequest {
762
763 #[prost(string, tag = "1")]
764 pub name: ::prost::alloc::string::String,
765
766 #[prost(string, tag = "2")]
767 pub cursor: ::prost::alloc::string::String,
768
769 #[prost(message, optional, tag = "3")]
770 pub limit: ::core::option::Option<i32>,
771}
772
773#[derive(Clone, PartialEq, ::prost::Message)]
774pub struct ListGroupUsersRequest {
775
776 #[prost(string, tag = "1")]
777 pub group_id: ::prost::alloc::string::String,
778
779 #[prost(message, optional, tag = "2")]
780 pub limit: ::core::option::Option<i32>,
781
782 #[prost(message, optional, tag = "3")]
783 pub state: ::core::option::Option<i32>,
784
785 #[prost(string, tag = "4")]
786 pub cursor: ::prost::alloc::string::String,
787}
788
789#[derive(Clone, PartialEq, ::prost::Message)]
790pub struct ListLeaderboardRecordsAroundOwnerRequest {
791
792 #[prost(string, tag = "1")]
793 pub leaderboard_id: ::prost::alloc::string::String,
794
795 #[prost(message, optional, tag = "2")]
796 pub limit: ::core::option::Option<u32>,
797
798 #[prost(string, tag = "3")]
799 pub owner_id: ::prost::alloc::string::String,
800
801 #[prost(message, optional, tag = "4")]
802 pub expiry: ::core::option::Option<i64>,
803}
804
805#[derive(Clone, PartialEq, ::prost::Message)]
806pub struct ListLeaderboardRecordsRequest {
807
808 #[prost(string, tag = "1")]
809 pub leaderboard_id: ::prost::alloc::string::String,
810
811 #[prost(string, repeated, tag = "2")]
812 pub owner_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
813
814 #[prost(message, optional, tag = "3")]
815 pub limit: ::core::option::Option<i32>,
816
817 #[prost(string, tag = "4")]
818 pub cursor: ::prost::alloc::string::String,
819
820 #[prost(message, optional, tag = "5")]
821 pub expiry: ::core::option::Option<i64>,
822}
823
824#[derive(Clone, PartialEq, ::prost::Message)]
825pub struct ListMatchesRequest {
826
827 #[prost(message, optional, tag = "1")]
828 pub limit: ::core::option::Option<i32>,
829
830 #[prost(message, optional, tag = "2")]
831 pub authoritative: ::core::option::Option<bool>,
832
833 #[prost(message, optional, tag = "3")]
834 pub label: ::core::option::Option<::prost::alloc::string::String>,
835
836 #[prost(message, optional, tag = "4")]
837 pub min_size: ::core::option::Option<i32>,
838
839 #[prost(message, optional, tag = "5")]
840 pub max_size: ::core::option::Option<i32>,
841
842 #[prost(message, optional, tag = "6")]
843 pub query: ::core::option::Option<::prost::alloc::string::String>,
844}
845
846#[derive(Clone, PartialEq, ::prost::Message)]
847pub struct ListNotificationsRequest {
848
849 #[prost(message, optional, tag = "1")]
850 pub limit: ::core::option::Option<i32>,
851
852
853
854 #[prost(string, tag = "2")]
855 pub cacheable_cursor: ::prost::alloc::string::String,
856}
857
858#[derive(Clone, PartialEq, ::prost::Message)]
859pub struct ListStorageObjectsRequest {
860
861 #[prost(string, tag = "1")]
862 pub user_id: ::prost::alloc::string::String,
863
864 #[prost(string, tag = "2")]
865 pub collection: ::prost::alloc::string::String,
866
867 #[prost(message, optional, tag = "3")]
868 pub limit: ::core::option::Option<i32>,
869
870
871
872 #[prost(string, tag = "4")]
873 pub cursor: ::prost::alloc::string::String,
874}
875
876#[derive(Clone, PartialEq, ::prost::Message)]
877pub struct ListTournamentRecordsAroundOwnerRequest {
878
879 #[prost(string, tag = "1")]
880 pub tournament_id: ::prost::alloc::string::String,
881
882 #[prost(message, optional, tag = "2")]
883 pub limit: ::core::option::Option<u32>,
884
885 #[prost(string, tag = "3")]
886 pub owner_id: ::prost::alloc::string::String,
887
888 #[prost(message, optional, tag = "4")]
889 pub expiry: ::core::option::Option<i64>,
890}
891
892#[derive(Clone, PartialEq, ::prost::Message)]
893pub struct ListTournamentRecordsRequest {
894
895 #[prost(string, tag = "1")]
896 pub tournament_id: ::prost::alloc::string::String,
897
898 #[prost(string, repeated, tag = "2")]
899 pub owner_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
900
901 #[prost(message, optional, tag = "3")]
902 pub limit: ::core::option::Option<i32>,
903
904 #[prost(string, tag = "4")]
905 pub cursor: ::prost::alloc::string::String,
906
907 #[prost(message, optional, tag = "5")]
908 pub expiry: ::core::option::Option<i64>,
909}
910
911#[derive(Clone, PartialEq, ::prost::Message)]
912pub struct ListTournamentsRequest {
913
914 #[prost(message, optional, tag = "1")]
915 pub category_start: ::core::option::Option<u32>,
916
917 #[prost(message, optional, tag = "2")]
918 pub category_end: ::core::option::Option<u32>,
919
920 #[prost(message, optional, tag = "3")]
921 pub start_time: ::core::option::Option<u32>,
922
923 #[prost(message, optional, tag = "4")]
924 pub end_time: ::core::option::Option<u32>,
925
926 #[prost(message, optional, tag = "6")]
927 pub limit: ::core::option::Option<i32>,
928
929 #[prost(string, tag = "8")]
930 pub cursor: ::prost::alloc::string::String,
931}
932
933#[derive(Clone, PartialEq, ::prost::Message)]
934pub struct ListUserGroupsRequest {
935
936 #[prost(string, tag = "1")]
937 pub user_id: ::prost::alloc::string::String,
938
939 #[prost(message, optional, tag = "2")]
940 pub limit: ::core::option::Option<i32>,
941
942 #[prost(message, optional, tag = "3")]
943 pub state: ::core::option::Option<i32>,
944
945 #[prost(string, tag = "4")]
946 pub cursor: ::prost::alloc::string::String,
947}
948
949#[derive(Clone, PartialEq, ::prost::Message)]
950pub struct Match {
951
952 #[prost(string, tag = "1")]
953 pub match_id: ::prost::alloc::string::String,
954
955 #[prost(bool, tag = "2")]
956 pub authoritative: bool,
957
958 #[prost(message, optional, tag = "3")]
959 pub label: ::core::option::Option<::prost::alloc::string::String>,
960
961 #[prost(int32, tag = "4")]
962 pub size: i32,
963
964 #[prost(int32, tag = "5")]
965 pub tick_rate: i32,
966
967 #[prost(string, tag = "6")]
968 pub handler_name: ::prost::alloc::string::String,
969}
970
971#[derive(Clone, PartialEq, ::prost::Message)]
972pub struct MatchList {
973
974 #[prost(message, repeated, tag = "1")]
975 pub matches: ::prost::alloc::vec::Vec<Match>,
976}
977
978#[derive(Clone, PartialEq, ::prost::Message)]
979pub struct Notification {
980
981 #[prost(string, tag = "1")]
982 pub id: ::prost::alloc::string::String,
983
984 #[prost(string, tag = "2")]
985 pub subject: ::prost::alloc::string::String,
986
987 #[prost(string, tag = "3")]
988 pub content: ::prost::alloc::string::String,
989
990 #[prost(int32, tag = "4")]
991 pub code: i32,
992
993 #[prost(string, tag = "5")]
994 pub sender_id: ::prost::alloc::string::String,
995
996 #[prost(message, optional, tag = "6")]
997 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
998
999 #[prost(bool, tag = "7")]
1000 pub persistent: bool,
1001}
1002
1003#[derive(Clone, PartialEq, ::prost::Message)]
1004pub struct NotificationList {
1005
1006 #[prost(message, repeated, tag = "1")]
1007 pub notifications: ::prost::alloc::vec::Vec<Notification>,
1008
1009 #[prost(string, tag = "2")]
1010 pub cacheable_cursor: ::prost::alloc::string::String,
1011}
1012
1013#[derive(Clone, PartialEq, ::prost::Message)]
1014pub struct PromoteGroupUsersRequest {
1015
1016 #[prost(string, tag = "1")]
1017 pub group_id: ::prost::alloc::string::String,
1018
1019 #[prost(string, repeated, tag = "2")]
1020 pub user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1021}
1022
1023#[derive(Clone, PartialEq, ::prost::Message)]
1024pub struct DemoteGroupUsersRequest {
1025
1026 #[prost(string, tag = "1")]
1027 pub group_id: ::prost::alloc::string::String,
1028
1029 #[prost(string, repeated, tag = "2")]
1030 pub user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1031}
1032
1033#[derive(Clone, PartialEq, ::prost::Message)]
1034pub struct ReadStorageObjectId {
1035
1036 #[prost(string, tag = "1")]
1037 pub collection: ::prost::alloc::string::String,
1038
1039 #[prost(string, tag = "2")]
1040 pub key: ::prost::alloc::string::String,
1041
1042 #[prost(string, tag = "3")]
1043 pub user_id: ::prost::alloc::string::String,
1044}
1045
1046#[derive(Clone, PartialEq, ::prost::Message)]
1047pub struct ReadStorageObjectsRequest {
1048
1049 #[prost(message, repeated, tag = "1")]
1050 pub object_ids: ::prost::alloc::vec::Vec<ReadStorageObjectId>,
1051}
1052
1053#[derive(Clone, PartialEq, ::prost::Message)]
1054pub struct Rpc {
1055
1056 #[prost(string, tag = "1")]
1057 pub id: ::prost::alloc::string::String,
1058
1059 #[prost(string, tag = "2")]
1060 pub payload: ::prost::alloc::string::String,
1061
1062 #[prost(string, tag = "3")]
1063 pub http_key: ::prost::alloc::string::String,
1064}
1065
1066#[derive(Clone, PartialEq, ::prost::Message)]
1067pub struct Session {
1068
1069 #[prost(bool, tag = "1")]
1070 pub created: bool,
1071
1072 #[prost(string, tag = "2")]
1073 pub token: ::prost::alloc::string::String,
1074
1075 #[prost(string, tag = "3")]
1076 pub refresh_token: ::prost::alloc::string::String,
1077}
1078
1079#[derive(Clone, PartialEq, ::prost::Message)]
1080pub struct StorageObject {
1081
1082 #[prost(string, tag = "1")]
1083 pub collection: ::prost::alloc::string::String,
1084
1085 #[prost(string, tag = "2")]
1086 pub key: ::prost::alloc::string::String,
1087
1088 #[prost(string, tag = "3")]
1089 pub user_id: ::prost::alloc::string::String,
1090
1091 #[prost(string, tag = "4")]
1092 pub value: ::prost::alloc::string::String,
1093
1094 #[prost(string, tag = "5")]
1095 pub version: ::prost::alloc::string::String,
1096
1097 #[prost(int32, tag = "6")]
1098 pub permission_read: i32,
1099
1100 #[prost(int32, tag = "7")]
1101 pub permission_write: i32,
1102
1103 #[prost(message, optional, tag = "8")]
1104 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
1105
1106 #[prost(message, optional, tag = "9")]
1107 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
1108}
1109
1110#[derive(Clone, PartialEq, ::prost::Message)]
1111pub struct StorageObjectAck {
1112
1113 #[prost(string, tag = "1")]
1114 pub collection: ::prost::alloc::string::String,
1115
1116 #[prost(string, tag = "2")]
1117 pub key: ::prost::alloc::string::String,
1118
1119 #[prost(string, tag = "3")]
1120 pub version: ::prost::alloc::string::String,
1121
1122 #[prost(string, tag = "4")]
1123 pub user_id: ::prost::alloc::string::String,
1124}
1125
1126#[derive(Clone, PartialEq, ::prost::Message)]
1127pub struct StorageObjectAcks {
1128
1129 #[prost(message, repeated, tag = "1")]
1130 pub acks: ::prost::alloc::vec::Vec<StorageObjectAck>,
1131}
1132
1133#[derive(Clone, PartialEq, ::prost::Message)]
1134pub struct StorageObjects {
1135
1136 #[prost(message, repeated, tag = "1")]
1137 pub objects: ::prost::alloc::vec::Vec<StorageObject>,
1138}
1139
1140#[derive(Clone, PartialEq, ::prost::Message)]
1141pub struct StorageObjectList {
1142
1143 #[prost(message, repeated, tag = "1")]
1144 pub objects: ::prost::alloc::vec::Vec<StorageObject>,
1145
1146 #[prost(string, tag = "2")]
1147 pub cursor: ::prost::alloc::string::String,
1148}
1149
1150#[derive(Clone, PartialEq, ::prost::Message)]
1151pub struct Tournament {
1152
1153 #[prost(string, tag = "1")]
1154 pub id: ::prost::alloc::string::String,
1155
1156 #[prost(string, tag = "2")]
1157 pub title: ::prost::alloc::string::String,
1158
1159 #[prost(string, tag = "3")]
1160 pub description: ::prost::alloc::string::String,
1161
1162 #[prost(uint32, tag = "4")]
1163 pub category: u32,
1164
1165 #[prost(uint32, tag = "5")]
1166 pub sort_order: u32,
1167
1168 #[prost(uint32, tag = "6")]
1169 pub size: u32,
1170
1171 #[prost(uint32, tag = "7")]
1172 pub max_size: u32,
1173
1174 #[prost(uint32, tag = "8")]
1175 pub max_num_score: u32,
1176
1177 #[prost(bool, tag = "9")]
1178 pub can_enter: bool,
1179
1180 #[prost(uint32, tag = "10")]
1181 pub end_active: u32,
1182
1183 #[prost(uint32, tag = "11")]
1184 pub next_reset: u32,
1185
1186 #[prost(string, tag = "12")]
1187 pub metadata: ::prost::alloc::string::String,
1188
1189 #[prost(message, optional, tag = "13")]
1190 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
1191
1192 #[prost(message, optional, tag = "14")]
1193 pub start_time: ::core::option::Option<::prost_types::Timestamp>,
1194
1195 #[prost(message, optional, tag = "15")]
1196 pub end_time: ::core::option::Option<::prost_types::Timestamp>,
1197
1198 #[prost(uint32, tag = "16")]
1199 pub duration: u32,
1200
1201 #[prost(uint32, tag = "17")]
1202 pub start_active: u32,
1203}
1204
1205#[derive(Clone, PartialEq, ::prost::Message)]
1206pub struct TournamentList {
1207
1208 #[prost(message, repeated, tag = "1")]
1209 pub tournaments: ::prost::alloc::vec::Vec<Tournament>,
1210
1211 #[prost(string, tag = "2")]
1212 pub cursor: ::prost::alloc::string::String,
1213}
1214
1215#[derive(Clone, PartialEq, ::prost::Message)]
1216pub struct TournamentRecordList {
1217
1218 #[prost(message, repeated, tag = "1")]
1219 pub records: ::prost::alloc::vec::Vec<LeaderboardRecord>,
1220
1221 #[prost(message, repeated, tag = "2")]
1222 pub owner_records: ::prost::alloc::vec::Vec<LeaderboardRecord>,
1223
1224 #[prost(string, tag = "3")]
1225 pub next_cursor: ::prost::alloc::string::String,
1226
1227 #[prost(string, tag = "4")]
1228 pub prev_cursor: ::prost::alloc::string::String,
1229}
1230
1231#[derive(Clone, PartialEq, ::prost::Message)]
1232pub struct UpdateAccountRequest {
1233
1234 #[prost(message, optional, tag = "1")]
1235 pub username: ::core::option::Option<::prost::alloc::string::String>,
1236
1237 #[prost(message, optional, tag = "2")]
1238 pub display_name: ::core::option::Option<::prost::alloc::string::String>,
1239
1240 #[prost(message, optional, tag = "3")]
1241 pub avatar_url: ::core::option::Option<::prost::alloc::string::String>,
1242
1243 #[prost(message, optional, tag = "4")]
1244 pub lang_tag: ::core::option::Option<::prost::alloc::string::String>,
1245
1246 #[prost(message, optional, tag = "5")]
1247 pub location: ::core::option::Option<::prost::alloc::string::String>,
1248
1249 #[prost(message, optional, tag = "6")]
1250 pub timezone: ::core::option::Option<::prost::alloc::string::String>,
1251}
1252
1253#[derive(Clone, PartialEq, ::prost::Message)]
1254pub struct UpdateGroupRequest {
1255
1256 #[prost(string, tag = "1")]
1257 pub group_id: ::prost::alloc::string::String,
1258
1259 #[prost(message, optional, tag = "2")]
1260 pub name: ::core::option::Option<::prost::alloc::string::String>,
1261
1262 #[prost(message, optional, tag = "3")]
1263 pub description: ::core::option::Option<::prost::alloc::string::String>,
1264
1265 #[prost(message, optional, tag = "4")]
1266 pub lang_tag: ::core::option::Option<::prost::alloc::string::String>,
1267
1268 #[prost(message, optional, tag = "5")]
1269 pub avatar_url: ::core::option::Option<::prost::alloc::string::String>,
1270
1271 #[prost(message, optional, tag = "6")]
1272 pub open: ::core::option::Option<bool>,
1273}
1274
1275#[derive(Clone, PartialEq, ::prost::Message)]
1276pub struct User {
1277
1278 #[prost(string, tag = "1")]
1279 pub id: ::prost::alloc::string::String,
1280
1281 #[prost(string, tag = "2")]
1282 pub username: ::prost::alloc::string::String,
1283
1284 #[prost(string, tag = "3")]
1285 pub display_name: ::prost::alloc::string::String,
1286
1287 #[prost(string, tag = "4")]
1288 pub avatar_url: ::prost::alloc::string::String,
1289
1290 #[prost(string, tag = "5")]
1291 pub lang_tag: ::prost::alloc::string::String,
1292
1293 #[prost(string, tag = "6")]
1294 pub location: ::prost::alloc::string::String,
1295
1296 #[prost(string, tag = "7")]
1297 pub timezone: ::prost::alloc::string::String,
1298
1299 #[prost(string, tag = "8")]
1300 pub metadata: ::prost::alloc::string::String,
1301
1302 #[prost(string, tag = "9")]
1303 pub facebook_id: ::prost::alloc::string::String,
1304
1305 #[prost(string, tag = "10")]
1306 pub google_id: ::prost::alloc::string::String,
1307
1308 #[prost(string, tag = "11")]
1309 pub gamecenter_id: ::prost::alloc::string::String,
1310
1311 #[prost(string, tag = "12")]
1312 pub steam_id: ::prost::alloc::string::String,
1313
1314 #[prost(bool, tag = "13")]
1315 pub online: bool,
1316
1317 #[prost(int32, tag = "14")]
1318 pub edge_count: i32,
1319
1320 #[prost(message, optional, tag = "15")]
1321 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
1322
1323 #[prost(message, optional, tag = "16")]
1324 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
1325
1326 #[prost(string, tag = "17")]
1327 pub facebook_instant_game_id: ::prost::alloc::string::String,
1328
1329 #[prost(string, tag = "18")]
1330 pub apple_id: ::prost::alloc::string::String,
1331}
1332
1333#[derive(Clone, PartialEq, ::prost::Message)]
1334pub struct UserGroupList {
1335
1336 #[prost(message, repeated, tag = "1")]
1337 pub user_groups: ::prost::alloc::vec::Vec<user_group_list::UserGroup>,
1338
1339 #[prost(string, tag = "2")]
1340 pub cursor: ::prost::alloc::string::String,
1341}
1342
1343pub mod user_group_list {
1344
1345 #[derive(Clone, PartialEq, ::prost::Message)]
1346 pub struct UserGroup {
1347
1348 #[prost(message, optional, tag = "1")]
1349 pub group: ::core::option::Option<super::Group>,
1350
1351 #[prost(message, optional, tag = "2")]
1352 pub state: ::core::option::Option<i32>,
1353 }
1354
1355 pub mod user_group {
1356
1357 #[derive(
1358 Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration,
1359 )]
1360 #[repr(i32)]
1361 pub enum State {
1362
1363 Superadmin = 0,
1364
1365 Admin = 1,
1366
1367 Member = 2,
1368
1369 JoinRequest = 3,
1370 }
1371 }
1372}
1373
1374#[derive(Clone, PartialEq, ::prost::Message)]
1375pub struct Users {
1376
1377 #[prost(message, repeated, tag = "1")]
1378 pub users: ::prost::alloc::vec::Vec<User>,
1379}
1380
1381#[derive(Clone, PartialEq, ::prost::Message)]
1382pub struct WriteLeaderboardRecordRequest {
1383
1384 #[prost(string, tag = "1")]
1385 pub leaderboard_id: ::prost::alloc::string::String,
1386
1387 #[prost(message, optional, tag = "2")]
1388 pub record: ::core::option::Option<write_leaderboard_record_request::LeaderboardRecordWrite>,
1389}
1390
1391pub mod write_leaderboard_record_request {
1392
1393 #[derive(Clone, PartialEq, ::prost::Message)]
1394 pub struct LeaderboardRecordWrite {
1395
1396 #[prost(int64, tag = "1")]
1397 pub score: i64,
1398
1399 #[prost(int64, tag = "2")]
1400 pub subscore: i64,
1401
1402 #[prost(string, tag = "3")]
1403 pub metadata: ::prost::alloc::string::String,
1404 }
1405}
1406
1407#[derive(Clone, PartialEq, ::prost::Message)]
1408pub struct WriteStorageObject {
1409
1410 #[prost(string, tag = "1")]
1411 pub collection: ::prost::alloc::string::String,
1412
1413 #[prost(string, tag = "2")]
1414 pub key: ::prost::alloc::string::String,
1415
1416 #[prost(string, tag = "3")]
1417 pub value: ::prost::alloc::string::String,
1418
1419
1420
1421 #[prost(string, tag = "4")]
1422 pub version: ::prost::alloc::string::String,
1423
1424 #[prost(message, optional, tag = "5")]
1425 pub permission_read: ::core::option::Option<i32>,
1426
1427 #[prost(message, optional, tag = "6")]
1428 pub permission_write: ::core::option::Option<i32>,
1429}
1430
1431#[derive(Clone, PartialEq, ::prost::Message)]
1432pub struct WriteStorageObjectsRequest {
1433
1434 #[prost(message, repeated, tag = "1")]
1435 pub objects: ::prost::alloc::vec::Vec<WriteStorageObject>,
1436}
1437
1438#[derive(Clone, PartialEq, ::prost::Message)]
1439pub struct WriteTournamentRecordRequest {
1440
1441 #[prost(string, tag = "1")]
1442 pub tournament_id: ::prost::alloc::string::String,
1443
1444 #[prost(message, optional, tag = "2")]
1445 pub record: ::core::option::Option<write_tournament_record_request::TournamentRecordWrite>,
1446}
1447
1448pub mod write_tournament_record_request {
1449
1450 #[derive(Clone, PartialEq, ::prost::Message)]
1451 pub struct TournamentRecordWrite {
1452
1453 #[prost(int64, tag = "1")]
1454 pub score: i64,
1455
1456 #[prost(int64, tag = "2")]
1457 pub subscore: i64,
1458
1459 #[prost(string, tag = "3")]
1460 pub metadata: ::prost::alloc::string::String,
1461 }
1462}
1463#[doc = r" Generated client implementations."]
1464pub mod nakama_client {
1465 #![allow(unused_variables, dead_code, missing_docs)]
1466 use tonic::codegen::*;
1467 #[doc = "*"]
1468 #[doc = " The Nakama RPC protocol service built with GRPC."]
1469 pub struct NakamaClient<T> {
1470 inner: tonic::client::Grpc<T>,
1471 }
1472 impl NakamaClient<tonic::transport::Channel> {
1473 #[doc = r" Attempt to create a new client by connecting to a given endpoint."]
1474 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1475 where
1476 D: std::convert::TryInto<tonic::transport::Endpoint>,
1477 D::Error: Into<StdError>,
1478 {
1479 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1480 Ok(Self::new(conn))
1481 }
1482 }
1483 impl<T> NakamaClient<T>
1484 where
1485 T: tonic::client::GrpcService<tonic::body::BoxBody>,
1486 T::ResponseBody: Body + HttpBody + Send + 'static,
1487 T::Error: Into<StdError>,
1488 <T::ResponseBody as HttpBody>::Error: Into<StdError> + Send,
1489 {
1490 pub fn new(inner: T) -> Self {
1491 let inner = tonic::client::Grpc::new(inner);
1492 Self { inner }
1493 }
1494 pub fn with_interceptor(inner: T, interceptor: impl Into<tonic::Interceptor>) -> Self {
1495 let inner = tonic::client::Grpc::with_interceptor(inner, interceptor);
1496 Self { inner }
1497 }
1498 #[doc = " Add friends by ID or username to a user's account."]
1499 pub async fn add_friends(
1500 &mut self,
1501 request: impl tonic::IntoRequest<super::AddFriendsRequest>,
1502 ) -> Result<tonic::Response<()>, tonic::Status> {
1503 self.inner.ready().await.map_err(|e| {
1504 tonic::Status::new(
1505 tonic::Code::Unknown,
1506 format!("Service was not ready: {}", e.into()),
1507 )
1508 })?;
1509 let codec = tonic::codec::ProstCodec::default();
1510 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/AddFriends");
1511 self.inner.unary(request.into_request(), path, codec).await
1512 }
1513 #[doc = " Add users to a group."]
1514 pub async fn add_group_users(
1515 &mut self,
1516 request: impl tonic::IntoRequest<super::AddGroupUsersRequest>,
1517 ) -> Result<tonic::Response<()>, tonic::Status> {
1518 self.inner.ready().await.map_err(|e| {
1519 tonic::Status::new(
1520 tonic::Code::Unknown,
1521 format!("Service was not ready: {}", e.into()),
1522 )
1523 })?;
1524 let codec = tonic::codec::ProstCodec::default();
1525 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/AddGroupUsers");
1526 self.inner.unary(request.into_request(), path, codec).await
1527 }
1528 #[doc = " Refresh a user's session using a refresh token retrieved from a previous authentication request."]
1529 pub async fn session_refresh(
1530 &mut self,
1531 request: impl tonic::IntoRequest<super::SessionRefreshRequest>,
1532 ) -> Result<tonic::Response<super::Session>, tonic::Status> {
1533 self.inner.ready().await.map_err(|e| {
1534 tonic::Status::new(
1535 tonic::Code::Unknown,
1536 format!("Service was not ready: {}", e.into()),
1537 )
1538 })?;
1539 let codec = tonic::codec::ProstCodec::default();
1540 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/SessionRefresh");
1541 self.inner.unary(request.into_request(), path, codec).await
1542 }
1543 #[doc = " Authenticate a user with an Apple ID against the server."]
1544 pub async fn authenticate_apple(
1545 &mut self,
1546 request: impl tonic::IntoRequest<super::AuthenticateAppleRequest>,
1547 ) -> Result<tonic::Response<super::Session>, tonic::Status> {
1548 self.inner.ready().await.map_err(|e| {
1549 tonic::Status::new(
1550 tonic::Code::Unknown,
1551 format!("Service was not ready: {}", e.into()),
1552 )
1553 })?;
1554 let codec = tonic::codec::ProstCodec::default();
1555 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/AuthenticateApple");
1556 self.inner.unary(request.into_request(), path, codec).await
1557 }
1558 #[doc = " Authenticate a user with a custom id against the server."]
1559 pub async fn authenticate_custom(
1560 &mut self,
1561 request: impl tonic::IntoRequest<super::AuthenticateCustomRequest>,
1562 ) -> Result<tonic::Response<super::Session>, tonic::Status> {
1563 self.inner.ready().await.map_err(|e| {
1564 tonic::Status::new(
1565 tonic::Code::Unknown,
1566 format!("Service was not ready: {}", e.into()),
1567 )
1568 })?;
1569 let codec = tonic::codec::ProstCodec::default();
1570 let path =
1571 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/AuthenticateCustom");
1572 self.inner.unary(request.into_request(), path, codec).await
1573 }
1574 #[doc = " Authenticate a user with a device id against the server."]
1575 pub async fn authenticate_device(
1576 &mut self,
1577 request: impl tonic::IntoRequest<super::AuthenticateDeviceRequest>,
1578 ) -> Result<tonic::Response<super::Session>, tonic::Status> {
1579 self.inner.ready().await.map_err(|e| {
1580 tonic::Status::new(
1581 tonic::Code::Unknown,
1582 format!("Service was not ready: {}", e.into()),
1583 )
1584 })?;
1585 let codec = tonic::codec::ProstCodec::default();
1586 let path =
1587 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/AuthenticateDevice");
1588 self.inner.unary(request.into_request(), path, codec).await
1589 }
1590 #[doc = " Authenticate a user with an email+password against the server."]
1591 pub async fn authenticate_email(
1592 &mut self,
1593 request: impl tonic::IntoRequest<super::AuthenticateEmailRequest>,
1594 ) -> Result<tonic::Response<super::Session>, tonic::Status> {
1595 self.inner.ready().await.map_err(|e| {
1596 tonic::Status::new(
1597 tonic::Code::Unknown,
1598 format!("Service was not ready: {}", e.into()),
1599 )
1600 })?;
1601 let codec = tonic::codec::ProstCodec::default();
1602 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/AuthenticateEmail");
1603 self.inner.unary(request.into_request(), path, codec).await
1604 }
1605 #[doc = " Authenticate a user with a Facebook OAuth token against the server."]
1606 pub async fn authenticate_facebook(
1607 &mut self,
1608 request: impl tonic::IntoRequest<super::AuthenticateFacebookRequest>,
1609 ) -> Result<tonic::Response<super::Session>, tonic::Status> {
1610 self.inner.ready().await.map_err(|e| {
1611 tonic::Status::new(
1612 tonic::Code::Unknown,
1613 format!("Service was not ready: {}", e.into()),
1614 )
1615 })?;
1616 let codec = tonic::codec::ProstCodec::default();
1617 let path =
1618 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/AuthenticateFacebook");
1619 self.inner.unary(request.into_request(), path, codec).await
1620 }
1621 #[doc = " Authenticate a user with a Facebook Instant Game token against the server."]
1622 pub async fn authenticate_facebook_instant_game(
1623 &mut self,
1624 request: impl tonic::IntoRequest<super::AuthenticateFacebookInstantGameRequest>,
1625 ) -> Result<tonic::Response<super::Session>, tonic::Status> {
1626 self.inner.ready().await.map_err(|e| {
1627 tonic::Status::new(
1628 tonic::Code::Unknown,
1629 format!("Service was not ready: {}", e.into()),
1630 )
1631 })?;
1632 let codec = tonic::codec::ProstCodec::default();
1633 let path = http::uri::PathAndQuery::from_static(
1634 "/nakama.api.Nakama/AuthenticateFacebookInstantGame",
1635 );
1636 self.inner.unary(request.into_request(), path, codec).await
1637 }
1638 #[doc = " Authenticate a user with Apple's GameCenter against the server."]
1639 pub async fn authenticate_game_center(
1640 &mut self,
1641 request: impl tonic::IntoRequest<super::AuthenticateGameCenterRequest>,
1642 ) -> Result<tonic::Response<super::Session>, tonic::Status> {
1643 self.inner.ready().await.map_err(|e| {
1644 tonic::Status::new(
1645 tonic::Code::Unknown,
1646 format!("Service was not ready: {}", e.into()),
1647 )
1648 })?;
1649 let codec = tonic::codec::ProstCodec::default();
1650 let path =
1651 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/AuthenticateGameCenter");
1652 self.inner.unary(request.into_request(), path, codec).await
1653 }
1654 #[doc = " Authenticate a user with Google against the server."]
1655 pub async fn authenticate_google(
1656 &mut self,
1657 request: impl tonic::IntoRequest<super::AuthenticateGoogleRequest>,
1658 ) -> Result<tonic::Response<super::Session>, tonic::Status> {
1659 self.inner.ready().await.map_err(|e| {
1660 tonic::Status::new(
1661 tonic::Code::Unknown,
1662 format!("Service was not ready: {}", e.into()),
1663 )
1664 })?;
1665 let codec = tonic::codec::ProstCodec::default();
1666 let path =
1667 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/AuthenticateGoogle");
1668 self.inner.unary(request.into_request(), path, codec).await
1669 }
1670 #[doc = " Authenticate a user with Steam against the server."]
1671 pub async fn authenticate_steam(
1672 &mut self,
1673 request: impl tonic::IntoRequest<super::AuthenticateSteamRequest>,
1674 ) -> Result<tonic::Response<super::Session>, tonic::Status> {
1675 self.inner.ready().await.map_err(|e| {
1676 tonic::Status::new(
1677 tonic::Code::Unknown,
1678 format!("Service was not ready: {}", e.into()),
1679 )
1680 })?;
1681 let codec = tonic::codec::ProstCodec::default();
1682 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/AuthenticateSteam");
1683 self.inner.unary(request.into_request(), path, codec).await
1684 }
1685 #[doc = " Ban a set of users from a group."]
1686 pub async fn ban_group_users(
1687 &mut self,
1688 request: impl tonic::IntoRequest<super::BanGroupUsersRequest>,
1689 ) -> Result<tonic::Response<()>, tonic::Status> {
1690 self.inner.ready().await.map_err(|e| {
1691 tonic::Status::new(
1692 tonic::Code::Unknown,
1693 format!("Service was not ready: {}", e.into()),
1694 )
1695 })?;
1696 let codec = tonic::codec::ProstCodec::default();
1697 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/BanGroupUsers");
1698 self.inner.unary(request.into_request(), path, codec).await
1699 }
1700 #[doc = " Block one or more users by ID or username."]
1701 pub async fn block_friends(
1702 &mut self,
1703 request: impl tonic::IntoRequest<super::BlockFriendsRequest>,
1704 ) -> Result<tonic::Response<()>, tonic::Status> {
1705 self.inner.ready().await.map_err(|e| {
1706 tonic::Status::new(
1707 tonic::Code::Unknown,
1708 format!("Service was not ready: {}", e.into()),
1709 )
1710 })?;
1711 let codec = tonic::codec::ProstCodec::default();
1712 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/BlockFriends");
1713 self.inner.unary(request.into_request(), path, codec).await
1714 }
1715 #[doc = " Create a new group with the current user as the owner."]
1716 pub async fn create_group(
1717 &mut self,
1718 request: impl tonic::IntoRequest<super::CreateGroupRequest>,
1719 ) -> Result<tonic::Response<super::Group>, tonic::Status> {
1720 self.inner.ready().await.map_err(|e| {
1721 tonic::Status::new(
1722 tonic::Code::Unknown,
1723 format!("Service was not ready: {}", e.into()),
1724 )
1725 })?;
1726 let codec = tonic::codec::ProstCodec::default();
1727 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/CreateGroup");
1728 self.inner.unary(request.into_request(), path, codec).await
1729 }
1730 #[doc = " Delete one or more users by ID or username."]
1731 pub async fn delete_friends(
1732 &mut self,
1733 request: impl tonic::IntoRequest<super::DeleteFriendsRequest>,
1734 ) -> Result<tonic::Response<()>, tonic::Status> {
1735 self.inner.ready().await.map_err(|e| {
1736 tonic::Status::new(
1737 tonic::Code::Unknown,
1738 format!("Service was not ready: {}", e.into()),
1739 )
1740 })?;
1741 let codec = tonic::codec::ProstCodec::default();
1742 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/DeleteFriends");
1743 self.inner.unary(request.into_request(), path, codec).await
1744 }
1745 #[doc = " Delete a group by ID."]
1746 pub async fn delete_group(
1747 &mut self,
1748 request: impl tonic::IntoRequest<super::DeleteGroupRequest>,
1749 ) -> Result<tonic::Response<()>, tonic::Status> {
1750 self.inner.ready().await.map_err(|e| {
1751 tonic::Status::new(
1752 tonic::Code::Unknown,
1753 format!("Service was not ready: {}", e.into()),
1754 )
1755 })?;
1756 let codec = tonic::codec::ProstCodec::default();
1757 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/DeleteGroup");
1758 self.inner.unary(request.into_request(), path, codec).await
1759 }
1760 #[doc = " Delete a leaderboard record."]
1761 pub async fn delete_leaderboard_record(
1762 &mut self,
1763 request: impl tonic::IntoRequest<super::DeleteLeaderboardRecordRequest>,
1764 ) -> Result<tonic::Response<()>, tonic::Status> {
1765 self.inner.ready().await.map_err(|e| {
1766 tonic::Status::new(
1767 tonic::Code::Unknown,
1768 format!("Service was not ready: {}", e.into()),
1769 )
1770 })?;
1771 let codec = tonic::codec::ProstCodec::default();
1772 let path =
1773 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/DeleteLeaderboardRecord");
1774 self.inner.unary(request.into_request(), path, codec).await
1775 }
1776 #[doc = " Delete one or more notifications for the current user."]
1777 pub async fn delete_notifications(
1778 &mut self,
1779 request: impl tonic::IntoRequest<super::DeleteNotificationsRequest>,
1780 ) -> Result<tonic::Response<()>, tonic::Status> {
1781 self.inner.ready().await.map_err(|e| {
1782 tonic::Status::new(
1783 tonic::Code::Unknown,
1784 format!("Service was not ready: {}", e.into()),
1785 )
1786 })?;
1787 let codec = tonic::codec::ProstCodec::default();
1788 let path =
1789 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/DeleteNotifications");
1790 self.inner.unary(request.into_request(), path, codec).await
1791 }
1792 #[doc = " Delete one or more objects by ID or username."]
1793 pub async fn delete_storage_objects(
1794 &mut self,
1795 request: impl tonic::IntoRequest<super::DeleteStorageObjectsRequest>,
1796 ) -> Result<tonic::Response<()>, tonic::Status> {
1797 self.inner.ready().await.map_err(|e| {
1798 tonic::Status::new(
1799 tonic::Code::Unknown,
1800 format!("Service was not ready: {}", e.into()),
1801 )
1802 })?;
1803 let codec = tonic::codec::ProstCodec::default();
1804 let path =
1805 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/DeleteStorageObjects");
1806 self.inner.unary(request.into_request(), path, codec).await
1807 }
1808 #[doc = " Submit an event for processing in the server's registered runtime custom events handler."]
1809 pub async fn event(
1810 &mut self,
1811 request: impl tonic::IntoRequest<super::Event>,
1812 ) -> Result<tonic::Response<()>, tonic::Status> {
1813 self.inner.ready().await.map_err(|e| {
1814 tonic::Status::new(
1815 tonic::Code::Unknown,
1816 format!("Service was not ready: {}", e.into()),
1817 )
1818 })?;
1819 let codec = tonic::codec::ProstCodec::default();
1820 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/Event");
1821 self.inner.unary(request.into_request(), path, codec).await
1822 }
1823 #[doc = " Fetch the current user's account."]
1824 pub async fn get_account(
1825 &mut self,
1826 request: impl tonic::IntoRequest<()>,
1827 ) -> Result<tonic::Response<super::Account>, tonic::Status> {
1828 self.inner.ready().await.map_err(|e| {
1829 tonic::Status::new(
1830 tonic::Code::Unknown,
1831 format!("Service was not ready: {}", e.into()),
1832 )
1833 })?;
1834 let codec = tonic::codec::ProstCodec::default();
1835 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/GetAccount");
1836 self.inner.unary(request.into_request(), path, codec).await
1837 }
1838 #[doc = " Fetch zero or more users by ID and/or username."]
1839 pub async fn get_users(
1840 &mut self,
1841 request: impl tonic::IntoRequest<super::GetUsersRequest>,
1842 ) -> Result<tonic::Response<super::Users>, tonic::Status> {
1843 self.inner.ready().await.map_err(|e| {
1844 tonic::Status::new(
1845 tonic::Code::Unknown,
1846 format!("Service was not ready: {}", e.into()),
1847 )
1848 })?;
1849 let codec = tonic::codec::ProstCodec::default();
1850 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/GetUsers");
1851 self.inner.unary(request.into_request(), path, codec).await
1852 }
1853 #[doc = " A healthcheck which load balancers can use to check the service."]
1854 pub async fn healthcheck(
1855 &mut self,
1856 request: impl tonic::IntoRequest<()>,
1857 ) -> Result<tonic::Response<()>, tonic::Status> {
1858 self.inner.ready().await.map_err(|e| {
1859 tonic::Status::new(
1860 tonic::Code::Unknown,
1861 format!("Service was not ready: {}", e.into()),
1862 )
1863 })?;
1864 let codec = tonic::codec::ProstCodec::default();
1865 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/Healthcheck");
1866 self.inner.unary(request.into_request(), path, codec).await
1867 }
1868 #[doc = " Import Facebook friends and add them to a user's account."]
1869 pub async fn import_facebook_friends(
1870 &mut self,
1871 request: impl tonic::IntoRequest<super::ImportFacebookFriendsRequest>,
1872 ) -> Result<tonic::Response<()>, tonic::Status> {
1873 self.inner.ready().await.map_err(|e| {
1874 tonic::Status::new(
1875 tonic::Code::Unknown,
1876 format!("Service was not ready: {}", e.into()),
1877 )
1878 })?;
1879 let codec = tonic::codec::ProstCodec::default();
1880 let path =
1881 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ImportFacebookFriends");
1882 self.inner.unary(request.into_request(), path, codec).await
1883 }
1884 #[doc = " Immediately join an open group, or request to join a closed one."]
1885 pub async fn join_group(
1886 &mut self,
1887 request: impl tonic::IntoRequest<super::JoinGroupRequest>,
1888 ) -> Result<tonic::Response<()>, tonic::Status> {
1889 self.inner.ready().await.map_err(|e| {
1890 tonic::Status::new(
1891 tonic::Code::Unknown,
1892 format!("Service was not ready: {}", e.into()),
1893 )
1894 })?;
1895 let codec = tonic::codec::ProstCodec::default();
1896 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/JoinGroup");
1897 self.inner.unary(request.into_request(), path, codec).await
1898 }
1899 #[doc = " Attempt to join an open and running tournament."]
1900 pub async fn join_tournament(
1901 &mut self,
1902 request: impl tonic::IntoRequest<super::JoinTournamentRequest>,
1903 ) -> Result<tonic::Response<()>, tonic::Status> {
1904 self.inner.ready().await.map_err(|e| {
1905 tonic::Status::new(
1906 tonic::Code::Unknown,
1907 format!("Service was not ready: {}", e.into()),
1908 )
1909 })?;
1910 let codec = tonic::codec::ProstCodec::default();
1911 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/JoinTournament");
1912 self.inner.unary(request.into_request(), path, codec).await
1913 }
1914 #[doc = " Kick a set of users from a group."]
1915 pub async fn kick_group_users(
1916 &mut self,
1917 request: impl tonic::IntoRequest<super::KickGroupUsersRequest>,
1918 ) -> Result<tonic::Response<()>, tonic::Status> {
1919 self.inner.ready().await.map_err(|e| {
1920 tonic::Status::new(
1921 tonic::Code::Unknown,
1922 format!("Service was not ready: {}", e.into()),
1923 )
1924 })?;
1925 let codec = tonic::codec::ProstCodec::default();
1926 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/KickGroupUsers");
1927 self.inner.unary(request.into_request(), path, codec).await
1928 }
1929 #[doc = " Leave a group the user is a member of."]
1930 pub async fn leave_group(
1931 &mut self,
1932 request: impl tonic::IntoRequest<super::LeaveGroupRequest>,
1933 ) -> Result<tonic::Response<()>, tonic::Status> {
1934 self.inner.ready().await.map_err(|e| {
1935 tonic::Status::new(
1936 tonic::Code::Unknown,
1937 format!("Service was not ready: {}", e.into()),
1938 )
1939 })?;
1940 let codec = tonic::codec::ProstCodec::default();
1941 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/LeaveGroup");
1942 self.inner.unary(request.into_request(), path, codec).await
1943 }
1944 #[doc = " Add an Apple ID to the social profiles on the current user's account."]
1945 pub async fn link_apple(
1946 &mut self,
1947 request: impl tonic::IntoRequest<super::AccountApple>,
1948 ) -> Result<tonic::Response<()>, tonic::Status> {
1949 self.inner.ready().await.map_err(|e| {
1950 tonic::Status::new(
1951 tonic::Code::Unknown,
1952 format!("Service was not ready: {}", e.into()),
1953 )
1954 })?;
1955 let codec = tonic::codec::ProstCodec::default();
1956 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/LinkApple");
1957 self.inner.unary(request.into_request(), path, codec).await
1958 }
1959 #[doc = " Add a custom ID to the social profiles on the current user's account."]
1960 pub async fn link_custom(
1961 &mut self,
1962 request: impl tonic::IntoRequest<super::AccountCustom>,
1963 ) -> Result<tonic::Response<()>, tonic::Status> {
1964 self.inner.ready().await.map_err(|e| {
1965 tonic::Status::new(
1966 tonic::Code::Unknown,
1967 format!("Service was not ready: {}", e.into()),
1968 )
1969 })?;
1970 let codec = tonic::codec::ProstCodec::default();
1971 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/LinkCustom");
1972 self.inner.unary(request.into_request(), path, codec).await
1973 }
1974 #[doc = " Add a device ID to the social profiles on the current user's account."]
1975 pub async fn link_device(
1976 &mut self,
1977 request: impl tonic::IntoRequest<super::AccountDevice>,
1978 ) -> Result<tonic::Response<()>, tonic::Status> {
1979 self.inner.ready().await.map_err(|e| {
1980 tonic::Status::new(
1981 tonic::Code::Unknown,
1982 format!("Service was not ready: {}", e.into()),
1983 )
1984 })?;
1985 let codec = tonic::codec::ProstCodec::default();
1986 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/LinkDevice");
1987 self.inner.unary(request.into_request(), path, codec).await
1988 }
1989 #[doc = " Add an email+password to the social profiles on the current user's account."]
1990 pub async fn link_email(
1991 &mut self,
1992 request: impl tonic::IntoRequest<super::AccountEmail>,
1993 ) -> Result<tonic::Response<()>, tonic::Status> {
1994 self.inner.ready().await.map_err(|e| {
1995 tonic::Status::new(
1996 tonic::Code::Unknown,
1997 format!("Service was not ready: {}", e.into()),
1998 )
1999 })?;
2000 let codec = tonic::codec::ProstCodec::default();
2001 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/LinkEmail");
2002 self.inner.unary(request.into_request(), path, codec).await
2003 }
2004 #[doc = " Add Facebook to the social profiles on the current user's account."]
2005 pub async fn link_facebook(
2006 &mut self,
2007 request: impl tonic::IntoRequest<super::LinkFacebookRequest>,
2008 ) -> Result<tonic::Response<()>, tonic::Status> {
2009 self.inner.ready().await.map_err(|e| {
2010 tonic::Status::new(
2011 tonic::Code::Unknown,
2012 format!("Service was not ready: {}", e.into()),
2013 )
2014 })?;
2015 let codec = tonic::codec::ProstCodec::default();
2016 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/LinkFacebook");
2017 self.inner.unary(request.into_request(), path, codec).await
2018 }
2019 #[doc = " Add Facebook Instant Game to the social profiles on the current user's account."]
2020 pub async fn link_facebook_instant_game(
2021 &mut self,
2022 request: impl tonic::IntoRequest<super::AccountFacebookInstantGame>,
2023 ) -> Result<tonic::Response<()>, tonic::Status> {
2024 self.inner.ready().await.map_err(|e| {
2025 tonic::Status::new(
2026 tonic::Code::Unknown,
2027 format!("Service was not ready: {}", e.into()),
2028 )
2029 })?;
2030 let codec = tonic::codec::ProstCodec::default();
2031 let path =
2032 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/LinkFacebookInstantGame");
2033 self.inner.unary(request.into_request(), path, codec).await
2034 }
2035 #[doc = " Add Apple's GameCenter to the social profiles on the current user's account."]
2036 pub async fn link_game_center(
2037 &mut self,
2038 request: impl tonic::IntoRequest<super::AccountGameCenter>,
2039 ) -> Result<tonic::Response<()>, tonic::Status> {
2040 self.inner.ready().await.map_err(|e| {
2041 tonic::Status::new(
2042 tonic::Code::Unknown,
2043 format!("Service was not ready: {}", e.into()),
2044 )
2045 })?;
2046 let codec = tonic::codec::ProstCodec::default();
2047 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/LinkGameCenter");
2048 self.inner.unary(request.into_request(), path, codec).await
2049 }
2050 #[doc = " Add Google to the social profiles on the current user's account."]
2051 pub async fn link_google(
2052 &mut self,
2053 request: impl tonic::IntoRequest<super::AccountGoogle>,
2054 ) -> Result<tonic::Response<()>, tonic::Status> {
2055 self.inner.ready().await.map_err(|e| {
2056 tonic::Status::new(
2057 tonic::Code::Unknown,
2058 format!("Service was not ready: {}", e.into()),
2059 )
2060 })?;
2061 let codec = tonic::codec::ProstCodec::default();
2062 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/LinkGoogle");
2063 self.inner.unary(request.into_request(), path, codec).await
2064 }
2065 #[doc = " Add Steam to the social profiles on the current user's account."]
2066 pub async fn link_steam(
2067 &mut self,
2068 request: impl tonic::IntoRequest<super::AccountSteam>,
2069 ) -> Result<tonic::Response<()>, tonic::Status> {
2070 self.inner.ready().await.map_err(|e| {
2071 tonic::Status::new(
2072 tonic::Code::Unknown,
2073 format!("Service was not ready: {}", e.into()),
2074 )
2075 })?;
2076 let codec = tonic::codec::ProstCodec::default();
2077 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/LinkSteam");
2078 self.inner.unary(request.into_request(), path, codec).await
2079 }
2080 #[doc = " List a channel's message history."]
2081 pub async fn list_channel_messages(
2082 &mut self,
2083 request: impl tonic::IntoRequest<super::ListChannelMessagesRequest>,
2084 ) -> Result<tonic::Response<super::ChannelMessageList>, tonic::Status> {
2085 self.inner.ready().await.map_err(|e| {
2086 tonic::Status::new(
2087 tonic::Code::Unknown,
2088 format!("Service was not ready: {}", e.into()),
2089 )
2090 })?;
2091 let codec = tonic::codec::ProstCodec::default();
2092 let path =
2093 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ListChannelMessages");
2094 self.inner.unary(request.into_request(), path, codec).await
2095 }
2096 #[doc = " List all friends for the current user."]
2097 pub async fn list_friends(
2098 &mut self,
2099 request: impl tonic::IntoRequest<super::ListFriendsRequest>,
2100 ) -> Result<tonic::Response<super::FriendList>, tonic::Status> {
2101 self.inner.ready().await.map_err(|e| {
2102 tonic::Status::new(
2103 tonic::Code::Unknown,
2104 format!("Service was not ready: {}", e.into()),
2105 )
2106 })?;
2107 let codec = tonic::codec::ProstCodec::default();
2108 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ListFriends");
2109 self.inner.unary(request.into_request(), path, codec).await
2110 }
2111 #[doc = " List groups based on given filters."]
2112 pub async fn list_groups(
2113 &mut self,
2114 request: impl tonic::IntoRequest<super::ListGroupsRequest>,
2115 ) -> Result<tonic::Response<super::GroupList>, tonic::Status> {
2116 self.inner.ready().await.map_err(|e| {
2117 tonic::Status::new(
2118 tonic::Code::Unknown,
2119 format!("Service was not ready: {}", e.into()),
2120 )
2121 })?;
2122 let codec = tonic::codec::ProstCodec::default();
2123 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ListGroups");
2124 self.inner.unary(request.into_request(), path, codec).await
2125 }
2126 #[doc = " List all users that are part of a group."]
2127 pub async fn list_group_users(
2128 &mut self,
2129 request: impl tonic::IntoRequest<super::ListGroupUsersRequest>,
2130 ) -> Result<tonic::Response<super::GroupUserList>, tonic::Status> {
2131 self.inner.ready().await.map_err(|e| {
2132 tonic::Status::new(
2133 tonic::Code::Unknown,
2134 format!("Service was not ready: {}", e.into()),
2135 )
2136 })?;
2137 let codec = tonic::codec::ProstCodec::default();
2138 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ListGroupUsers");
2139 self.inner.unary(request.into_request(), path, codec).await
2140 }
2141 #[doc = " List leaderboard records."]
2142 pub async fn list_leaderboard_records(
2143 &mut self,
2144 request: impl tonic::IntoRequest<super::ListLeaderboardRecordsRequest>,
2145 ) -> Result<tonic::Response<super::LeaderboardRecordList>, tonic::Status> {
2146 self.inner.ready().await.map_err(|e| {
2147 tonic::Status::new(
2148 tonic::Code::Unknown,
2149 format!("Service was not ready: {}", e.into()),
2150 )
2151 })?;
2152 let codec = tonic::codec::ProstCodec::default();
2153 let path =
2154 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ListLeaderboardRecords");
2155 self.inner.unary(request.into_request(), path, codec).await
2156 }
2157 #[doc = " List leaderboard records that belong to a user."]
2158 pub async fn list_leaderboard_records_around_owner(
2159 &mut self,
2160 request: impl tonic::IntoRequest<super::ListLeaderboardRecordsAroundOwnerRequest>,
2161 ) -> Result<tonic::Response<super::LeaderboardRecordList>, tonic::Status> {
2162 self.inner.ready().await.map_err(|e| {
2163 tonic::Status::new(
2164 tonic::Code::Unknown,
2165 format!("Service was not ready: {}", e.into()),
2166 )
2167 })?;
2168 let codec = tonic::codec::ProstCodec::default();
2169 let path = http::uri::PathAndQuery::from_static(
2170 "/nakama.api.Nakama/ListLeaderboardRecordsAroundOwner",
2171 );
2172 self.inner.unary(request.into_request(), path, codec).await
2173 }
2174 #[doc = " Fetch list of running matches."]
2175 pub async fn list_matches(
2176 &mut self,
2177 request: impl tonic::IntoRequest<super::ListMatchesRequest>,
2178 ) -> Result<tonic::Response<super::MatchList>, tonic::Status> {
2179 self.inner.ready().await.map_err(|e| {
2180 tonic::Status::new(
2181 tonic::Code::Unknown,
2182 format!("Service was not ready: {}", e.into()),
2183 )
2184 })?;
2185 let codec = tonic::codec::ProstCodec::default();
2186 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ListMatches");
2187 self.inner.unary(request.into_request(), path, codec).await
2188 }
2189 #[doc = " Fetch list of notifications."]
2190 pub async fn list_notifications(
2191 &mut self,
2192 request: impl tonic::IntoRequest<super::ListNotificationsRequest>,
2193 ) -> Result<tonic::Response<super::NotificationList>, tonic::Status> {
2194 self.inner.ready().await.map_err(|e| {
2195 tonic::Status::new(
2196 tonic::Code::Unknown,
2197 format!("Service was not ready: {}", e.into()),
2198 )
2199 })?;
2200 let codec = tonic::codec::ProstCodec::default();
2201 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ListNotifications");
2202 self.inner.unary(request.into_request(), path, codec).await
2203 }
2204 #[doc = " List publicly readable storage objects in a given collection."]
2205 pub async fn list_storage_objects(
2206 &mut self,
2207 request: impl tonic::IntoRequest<super::ListStorageObjectsRequest>,
2208 ) -> Result<tonic::Response<super::StorageObjectList>, tonic::Status> {
2209 self.inner.ready().await.map_err(|e| {
2210 tonic::Status::new(
2211 tonic::Code::Unknown,
2212 format!("Service was not ready: {}", e.into()),
2213 )
2214 })?;
2215 let codec = tonic::codec::ProstCodec::default();
2216 let path =
2217 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ListStorageObjects");
2218 self.inner.unary(request.into_request(), path, codec).await
2219 }
2220 #[doc = " List current or upcoming tournaments."]
2221 pub async fn list_tournaments(
2222 &mut self,
2223 request: impl tonic::IntoRequest<super::ListTournamentsRequest>,
2224 ) -> Result<tonic::Response<super::TournamentList>, tonic::Status> {
2225 self.inner.ready().await.map_err(|e| {
2226 tonic::Status::new(
2227 tonic::Code::Unknown,
2228 format!("Service was not ready: {}", e.into()),
2229 )
2230 })?;
2231 let codec = tonic::codec::ProstCodec::default();
2232 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ListTournaments");
2233 self.inner.unary(request.into_request(), path, codec).await
2234 }
2235 #[doc = " List tournament records."]
2236 pub async fn list_tournament_records(
2237 &mut self,
2238 request: impl tonic::IntoRequest<super::ListTournamentRecordsRequest>,
2239 ) -> Result<tonic::Response<super::TournamentRecordList>, tonic::Status> {
2240 self.inner.ready().await.map_err(|e| {
2241 tonic::Status::new(
2242 tonic::Code::Unknown,
2243 format!("Service was not ready: {}", e.into()),
2244 )
2245 })?;
2246 let codec = tonic::codec::ProstCodec::default();
2247 let path =
2248 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ListTournamentRecords");
2249 self.inner.unary(request.into_request(), path, codec).await
2250 }
2251 #[doc = " List tournament records for a given owner."]
2252 pub async fn list_tournament_records_around_owner(
2253 &mut self,
2254 request: impl tonic::IntoRequest<super::ListTournamentRecordsAroundOwnerRequest>,
2255 ) -> Result<tonic::Response<super::TournamentRecordList>, tonic::Status> {
2256 self.inner.ready().await.map_err(|e| {
2257 tonic::Status::new(
2258 tonic::Code::Unknown,
2259 format!("Service was not ready: {}", e.into()),
2260 )
2261 })?;
2262 let codec = tonic::codec::ProstCodec::default();
2263 let path = http::uri::PathAndQuery::from_static(
2264 "/nakama.api.Nakama/ListTournamentRecordsAroundOwner",
2265 );
2266 self.inner.unary(request.into_request(), path, codec).await
2267 }
2268 #[doc = " List groups the current user belongs to."]
2269 pub async fn list_user_groups(
2270 &mut self,
2271 request: impl tonic::IntoRequest<super::ListUserGroupsRequest>,
2272 ) -> Result<tonic::Response<super::UserGroupList>, tonic::Status> {
2273 self.inner.ready().await.map_err(|e| {
2274 tonic::Status::new(
2275 tonic::Code::Unknown,
2276 format!("Service was not ready: {}", e.into()),
2277 )
2278 })?;
2279 let codec = tonic::codec::ProstCodec::default();
2280 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ListUserGroups");
2281 self.inner.unary(request.into_request(), path, codec).await
2282 }
2283 #[doc = " Promote a set of users in a group to the next role up."]
2284 pub async fn promote_group_users(
2285 &mut self,
2286 request: impl tonic::IntoRequest<super::PromoteGroupUsersRequest>,
2287 ) -> Result<tonic::Response<()>, tonic::Status> {
2288 self.inner.ready().await.map_err(|e| {
2289 tonic::Status::new(
2290 tonic::Code::Unknown,
2291 format!("Service was not ready: {}", e.into()),
2292 )
2293 })?;
2294 let codec = tonic::codec::ProstCodec::default();
2295 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/PromoteGroupUsers");
2296 self.inner.unary(request.into_request(), path, codec).await
2297 }
2298 #[doc = " Demote a set of users in a group to the next role down."]
2299 pub async fn demote_group_users(
2300 &mut self,
2301 request: impl tonic::IntoRequest<super::DemoteGroupUsersRequest>,
2302 ) -> Result<tonic::Response<()>, tonic::Status> {
2303 self.inner.ready().await.map_err(|e| {
2304 tonic::Status::new(
2305 tonic::Code::Unknown,
2306 format!("Service was not ready: {}", e.into()),
2307 )
2308 })?;
2309 let codec = tonic::codec::ProstCodec::default();
2310 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/DemoteGroupUsers");
2311 self.inner.unary(request.into_request(), path, codec).await
2312 }
2313 #[doc = " Get storage objects."]
2314 pub async fn read_storage_objects(
2315 &mut self,
2316 request: impl tonic::IntoRequest<super::ReadStorageObjectsRequest>,
2317 ) -> Result<tonic::Response<super::StorageObjects>, tonic::Status> {
2318 self.inner.ready().await.map_err(|e| {
2319 tonic::Status::new(
2320 tonic::Code::Unknown,
2321 format!("Service was not ready: {}", e.into()),
2322 )
2323 })?;
2324 let codec = tonic::codec::ProstCodec::default();
2325 let path =
2326 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/ReadStorageObjects");
2327 self.inner.unary(request.into_request(), path, codec).await
2328 }
2329 #[doc = " Execute a Lua function on the server."]
2330 pub async fn rpc_func(
2331 &mut self,
2332 request: impl tonic::IntoRequest<super::Rpc>,
2333 ) -> Result<tonic::Response<super::Rpc>, tonic::Status> {
2334 self.inner.ready().await.map_err(|e| {
2335 tonic::Status::new(
2336 tonic::Code::Unknown,
2337 format!("Service was not ready: {}", e.into()),
2338 )
2339 })?;
2340 let codec = tonic::codec::ProstCodec::default();
2341 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/RpcFunc");
2342 self.inner.unary(request.into_request(), path, codec).await
2343 }
2344 #[doc = " Remove the Apple ID from the social profiles on the current user's account."]
2345 pub async fn unlink_apple(
2346 &mut self,
2347 request: impl tonic::IntoRequest<super::AccountApple>,
2348 ) -> Result<tonic::Response<()>, tonic::Status> {
2349 self.inner.ready().await.map_err(|e| {
2350 tonic::Status::new(
2351 tonic::Code::Unknown,
2352 format!("Service was not ready: {}", e.into()),
2353 )
2354 })?;
2355 let codec = tonic::codec::ProstCodec::default();
2356 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/UnlinkApple");
2357 self.inner.unary(request.into_request(), path, codec).await
2358 }
2359 #[doc = " Remove the custom ID from the social profiles on the current user's account."]
2360 pub async fn unlink_custom(
2361 &mut self,
2362 request: impl tonic::IntoRequest<super::AccountCustom>,
2363 ) -> Result<tonic::Response<()>, tonic::Status> {
2364 self.inner.ready().await.map_err(|e| {
2365 tonic::Status::new(
2366 tonic::Code::Unknown,
2367 format!("Service was not ready: {}", e.into()),
2368 )
2369 })?;
2370 let codec = tonic::codec::ProstCodec::default();
2371 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/UnlinkCustom");
2372 self.inner.unary(request.into_request(), path, codec).await
2373 }
2374 #[doc = " Remove the device ID from the social profiles on the current user's account."]
2375 pub async fn unlink_device(
2376 &mut self,
2377 request: impl tonic::IntoRequest<super::AccountDevice>,
2378 ) -> Result<tonic::Response<()>, tonic::Status> {
2379 self.inner.ready().await.map_err(|e| {
2380 tonic::Status::new(
2381 tonic::Code::Unknown,
2382 format!("Service was not ready: {}", e.into()),
2383 )
2384 })?;
2385 let codec = tonic::codec::ProstCodec::default();
2386 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/UnlinkDevice");
2387 self.inner.unary(request.into_request(), path, codec).await
2388 }
2389 #[doc = " Remove the email+password from the social profiles on the current user's account."]
2390 pub async fn unlink_email(
2391 &mut self,
2392 request: impl tonic::IntoRequest<super::AccountEmail>,
2393 ) -> Result<tonic::Response<()>, tonic::Status> {
2394 self.inner.ready().await.map_err(|e| {
2395 tonic::Status::new(
2396 tonic::Code::Unknown,
2397 format!("Service was not ready: {}", e.into()),
2398 )
2399 })?;
2400 let codec = tonic::codec::ProstCodec::default();
2401 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/UnlinkEmail");
2402 self.inner.unary(request.into_request(), path, codec).await
2403 }
2404 #[doc = " Remove Facebook from the social profiles on the current user's account."]
2405 pub async fn unlink_facebook(
2406 &mut self,
2407 request: impl tonic::IntoRequest<super::AccountFacebook>,
2408 ) -> Result<tonic::Response<()>, tonic::Status> {
2409 self.inner.ready().await.map_err(|e| {
2410 tonic::Status::new(
2411 tonic::Code::Unknown,
2412 format!("Service was not ready: {}", e.into()),
2413 )
2414 })?;
2415 let codec = tonic::codec::ProstCodec::default();
2416 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/UnlinkFacebook");
2417 self.inner.unary(request.into_request(), path, codec).await
2418 }
2419 #[doc = " Remove Facebook Instant Game profile from the social profiles on the current user's account."]
2420 pub async fn unlink_facebook_instant_game(
2421 &mut self,
2422 request: impl tonic::IntoRequest<super::AccountFacebookInstantGame>,
2423 ) -> Result<tonic::Response<()>, tonic::Status> {
2424 self.inner.ready().await.map_err(|e| {
2425 tonic::Status::new(
2426 tonic::Code::Unknown,
2427 format!("Service was not ready: {}", e.into()),
2428 )
2429 })?;
2430 let codec = tonic::codec::ProstCodec::default();
2431 let path = http::uri::PathAndQuery::from_static(
2432 "/nakama.api.Nakama/UnlinkFacebookInstantGame",
2433 );
2434 self.inner.unary(request.into_request(), path, codec).await
2435 }
2436 #[doc = " Remove Apple's GameCenter from the social profiles on the current user's account."]
2437 pub async fn unlink_game_center(
2438 &mut self,
2439 request: impl tonic::IntoRequest<super::AccountGameCenter>,
2440 ) -> Result<tonic::Response<()>, tonic::Status> {
2441 self.inner.ready().await.map_err(|e| {
2442 tonic::Status::new(
2443 tonic::Code::Unknown,
2444 format!("Service was not ready: {}", e.into()),
2445 )
2446 })?;
2447 let codec = tonic::codec::ProstCodec::default();
2448 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/UnlinkGameCenter");
2449 self.inner.unary(request.into_request(), path, codec).await
2450 }
2451 #[doc = " Remove Google from the social profiles on the current user's account."]
2452 pub async fn unlink_google(
2453 &mut self,
2454 request: impl tonic::IntoRequest<super::AccountGoogle>,
2455 ) -> Result<tonic::Response<()>, tonic::Status> {
2456 self.inner.ready().await.map_err(|e| {
2457 tonic::Status::new(
2458 tonic::Code::Unknown,
2459 format!("Service was not ready: {}", e.into()),
2460 )
2461 })?;
2462 let codec = tonic::codec::ProstCodec::default();
2463 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/UnlinkGoogle");
2464 self.inner.unary(request.into_request(), path, codec).await
2465 }
2466 #[doc = " Remove Steam from the social profiles on the current user's account."]
2467 pub async fn unlink_steam(
2468 &mut self,
2469 request: impl tonic::IntoRequest<super::AccountSteam>,
2470 ) -> Result<tonic::Response<()>, tonic::Status> {
2471 self.inner.ready().await.map_err(|e| {
2472 tonic::Status::new(
2473 tonic::Code::Unknown,
2474 format!("Service was not ready: {}", e.into()),
2475 )
2476 })?;
2477 let codec = tonic::codec::ProstCodec::default();
2478 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/UnlinkSteam");
2479 self.inner.unary(request.into_request(), path, codec).await
2480 }
2481 #[doc = " Update fields in the current user's account."]
2482 pub async fn update_account(
2483 &mut self,
2484 request: impl tonic::IntoRequest<super::UpdateAccountRequest>,
2485 ) -> Result<tonic::Response<()>, tonic::Status> {
2486 self.inner.ready().await.map_err(|e| {
2487 tonic::Status::new(
2488 tonic::Code::Unknown,
2489 format!("Service was not ready: {}", e.into()),
2490 )
2491 })?;
2492 let codec = tonic::codec::ProstCodec::default();
2493 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/UpdateAccount");
2494 self.inner.unary(request.into_request(), path, codec).await
2495 }
2496 #[doc = " Update fields in a given group."]
2497 pub async fn update_group(
2498 &mut self,
2499 request: impl tonic::IntoRequest<super::UpdateGroupRequest>,
2500 ) -> Result<tonic::Response<()>, tonic::Status> {
2501 self.inner.ready().await.map_err(|e| {
2502 tonic::Status::new(
2503 tonic::Code::Unknown,
2504 format!("Service was not ready: {}", e.into()),
2505 )
2506 })?;
2507 let codec = tonic::codec::ProstCodec::default();
2508 let path = http::uri::PathAndQuery::from_static("/nakama.api.Nakama/UpdateGroup");
2509 self.inner.unary(request.into_request(), path, codec).await
2510 }
2511 #[doc = " Write a record to a leaderboard."]
2512 pub async fn write_leaderboard_record(
2513 &mut self,
2514 request: impl tonic::IntoRequest<super::WriteLeaderboardRecordRequest>,
2515 ) -> Result<tonic::Response<super::LeaderboardRecord>, tonic::Status> {
2516 self.inner.ready().await.map_err(|e| {
2517 tonic::Status::new(
2518 tonic::Code::Unknown,
2519 format!("Service was not ready: {}", e.into()),
2520 )
2521 })?;
2522 let codec = tonic::codec::ProstCodec::default();
2523 let path =
2524 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/WriteLeaderboardRecord");
2525 self.inner.unary(request.into_request(), path, codec).await
2526 }
2527 #[doc = " Write objects into the storage engine."]
2528 pub async fn write_storage_objects(
2529 &mut self,
2530 request: impl tonic::IntoRequest<super::WriteStorageObjectsRequest>,
2531 ) -> Result<tonic::Response<super::StorageObjectAcks>, tonic::Status> {
2532 self.inner.ready().await.map_err(|e| {
2533 tonic::Status::new(
2534 tonic::Code::Unknown,
2535 format!("Service was not ready: {}", e.into()),
2536 )
2537 })?;
2538 let codec = tonic::codec::ProstCodec::default();
2539 let path =
2540 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/WriteStorageObjects");
2541 self.inner.unary(request.into_request(), path, codec).await
2542 }
2543 #[doc = " Write a record to a tournament."]
2544 pub async fn write_tournament_record(
2545 &mut self,
2546 request: impl tonic::IntoRequest<super::WriteTournamentRecordRequest>,
2547 ) -> Result<tonic::Response<super::LeaderboardRecord>, tonic::Status> {
2548 self.inner.ready().await.map_err(|e| {
2549 tonic::Status::new(
2550 tonic::Code::Unknown,
2551 format!("Service was not ready: {}", e.into()),
2552 )
2553 })?;
2554 let codec = tonic::codec::ProstCodec::default();
2555 let path =
2556 http::uri::PathAndQuery::from_static("/nakama.api.Nakama/WriteTournamentRecord");
2557 self.inner.unary(request.into_request(), path, codec).await
2558 }
2559 }
2560 impl<T: Clone> Clone for NakamaClient<T> {
2561 fn clone(&self) -> Self {
2562 Self {
2563 inner: self.inner.clone(),
2564 }
2565 }
2566 }
2567 impl<T> std::fmt::Debug for NakamaClient<T> {
2568 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2569 write!(f, "NakamaClient {{ ... }}")
2570 }
2571 }
2572}