Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactored rest client #103

Merged
merged 26 commits into from
May 24, 2024
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
b32a2e1
Remove generated chopper code and dependencies.
fsufyan Apr 20, 2024
bb6e065
Add code generator for rest client.
fsufyan Apr 20, 2024
5c04e3d
Generated low-level rest api.
fsufyan Apr 21, 2024
55d79f6
Adjust client to newly generated rest api and handle response errors …
fsufyan Apr 21, 2024
2c3e31a
Adapt tests to new api.
fsufyan Apr 21, 2024
bae8ac3
Linting changes and example package updates.
fsufyan Apr 21, 2024
0353964
Use body annotation for parameters of type string.
fsufyan Apr 22, 2024
a053dca
Add missing channel message model export.
fsufyan Apr 24, 2024
4cc64de
handle null data fields.
fsufyan Apr 24, 2024
6e48f2e
Fix unlink email.
fsufyan Apr 25, 2024
312d8cf
Add import facebook and steam friends.
fsufyan Apr 25, 2024
fc9b6aa
Add documentation comments to client.
fsufyan Apr 25, 2024
70f916c
Linter auto changes.
fsufyan Apr 26, 2024
ed849e5
Hide internal api types and add presences parameter to Send match data.
fsufyan Apr 26, 2024
ce5774b
Hide internal api types.
fsufyan Apr 26, 2024
b48276b
Add missing party: accept, remove members and close party.
fsufyan Apr 26, 2024
84779fa
Use user presence model instead of internal api types.
fsufyan Apr 26, 2024
345615b
no message
fsufyan Apr 26, 2024
bc5067a
Models null safety.
fsufyan May 20, 2024
8179c45
Invalidate session on authentication request.
fsufyan May 20, 2024
4316924
User group list null safety.
fsufyan May 24, 2024
98f56c9
Remove assert lines.
fsufyan May 24, 2024
984db1a
Create new account by default when authenticating with email.
fsufyan May 24, 2024
15f57b6
Revise tests to make sure it pass when running using terminal.
fsufyan May 24, 2024
d6d66fe
Revert "Create new account by default when authenticating with email."
fsufyan May 24, 2024
1db34d9
Fix tests failure by creating account when authenticating.
fsufyan May 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 0 additions & 19 deletions nakama/build.yaml

This file was deleted.

10 changes: 4 additions & 6 deletions nakama/example/lib/widgets/match_area.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,9 @@ class MatchAreaState extends State<MatchArea> {
super.initState();

NakamaWebsocketClient.instance.onMatchData.listen((event) {
print(
'received match data: ${event.data} from ${event.presence.username}');
print('received match data: ${event.data} from ${event.presence?.username}');
// Sent the match content field to received data.
matchDataController.text = String.fromCharCodes(event.data);
matchDataController.text = String.fromCharCodes(event.data ?? []);
});
}

Expand All @@ -40,7 +39,7 @@ class MatchAreaState extends State<MatchArea> {
// Send dummy match data via Websocket
NakamaWebsocketClient.instance.sendMatchData(
matchId: widget.match.matchId,
opCode: Int64(0),
opCode: 0,
data: data.codeUnits,
);
print('Match Data changed: $data');
Expand All @@ -65,8 +64,7 @@ class MatchAreaState extends State<MatchArea> {
maxLines: null,
onChanged: sendMatchData,
decoration: const InputDecoration(
hintText:
'Write some match data, which is then synchronized across all participants in real time.',
hintText: 'Write some match data, which is then synchronized across all participants in real time.',
),
),
],
Expand Down
46 changes: 23 additions & 23 deletions nakama/example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ packages:
dependency: transitive
description:
name: args
sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a"
url: "https://pub.dev"
source: hosted
version: "2.4.2"
version: "2.5.0"
async:
dependency: transitive
description:
Expand All @@ -41,14 +41,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.3.0"
chopper:
dependency: transitive
description:
name: chopper
sha256: eac1e6ddfdf50df266943a5f6838f5490e4f6818b48476a68427b89ecc97e07d
url: "https://pub.dev"
source: hosted
version: "7.2.0"
clock:
dependency: transitive
description:
Expand Down Expand Up @@ -81,14 +73,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.0.3"
equatable:
dio:
dependency: transitive
description:
name: equatable
sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
name: dio
sha256: "11e40df547d418cc0c4900a9318b26304e665da6fa4755399a9ff9efd09034b5"
url: "https://pub.dev"
source: hosted
version: "2.0.5"
version: "5.4.3+1"
fake_async:
dependency: transitive
description:
Expand All @@ -114,10 +106,10 @@ packages:
dependency: "direct dev"
description:
name: flutter_lints
sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7
sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
url: "https://pub.dev"
source: hosted
version: "3.0.1"
version: "3.0.2"
flutter_test:
dependency: "direct dev"
description: flutter
Expand All @@ -143,10 +135,10 @@ packages:
dependency: transitive
description:
name: googleapis_auth
sha256: cafc46446574fd42826aa4cd4d623c94482598fda0a5a5649bf2781bcbc09258
sha256: befd71383a955535060acde8792e7efc11d2fccd03dd1d3ec434e85b68775938
url: "https://pub.dev"
source: hosted
version: "1.5.0"
version: "1.6.0"
grpc:
dependency: transitive
description:
Expand Down Expand Up @@ -273,7 +265,7 @@ packages:
path: ".."
relative: true
source: path
version: "1.0.6"
version: "1.1.0"
path:
dependency: transitive
description:
Expand All @@ -286,10 +278,10 @@ packages:
dependency: transitive
description:
name: pointycastle
sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29"
sha256: "79fbafed02cfdbe85ef3fd06c7f4bc2cbcba0177e61b765264853d4253b21744"
url: "https://pub.dev"
source: hosted
version: "3.7.4"
version: "3.9.0"
protobuf:
dependency: transitive
description:
Expand All @@ -298,6 +290,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.1.0"
retrofit:
dependency: transitive
description:
name: retrofit
sha256: "13a2865c0d97da580ea4e3c64d412d81f365fd5b26be2a18fca9582e021da37a"
url: "https://pub.dev"
source: hosted
version: "4.1.0"
sky_engine:
dependency: transitive
description: flutter
Expand Down Expand Up @@ -387,9 +387,9 @@ packages:
dependency: transitive
description:
name: web_socket_channel
sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2"
sha256: "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42"
url: "https://pub.dev"
source: hosted
version: "2.4.4"
version: "2.4.5"
sdks:
dart: ">=3.3.0 <4.0.0"
6 changes: 4 additions & 2 deletions nakama/lib/nakama.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ export 'package:fixnum/fixnum.dart' show Int64;
export 'src/enum/channel_type.dart';
export 'src/enum/friendship_state.dart';
export 'src/enum/group_membership_states.dart';
export 'src/enum/leaderboard_operator.dart';
export 'src/enum/storage_permission.dart';
// Public models
export 'src/models/account.dart';
export 'src/models/channel_message.dart';
export 'src/models/chat.dart';
export 'src/models/friends.dart';
export 'src/models/group.dart';
Expand All @@ -27,5 +27,7 @@ export 'src/models/tournament.dart';
export 'src/nakama_client/nakama_api_client.dart';
export 'src/nakama_client/nakama_client.dart';
export 'src/nakama_client/nakama_grpc_client.dart';
export 'src/nakama_client/stub/nakama_client_stub.dart' if (dart.library.io) './src/nakama_client/stub/grpc_client.dart' if (dart.library.js) './src/nakama_client/stub/api_client.dart';
export 'src/nakama_client/stub/nakama_client_stub.dart'
if (dart.library.io) './src/nakama_client/stub/grpc_client.dart'
if (dart.library.js) './src/nakama_client/stub/api_client.dart';
export 'src/nakama_websocket_client.dart';
7 changes: 0 additions & 7 deletions nakama/lib/src/enum/leaderboard_operator.dart

This file was deleted.

7 changes: 7 additions & 0 deletions nakama/lib/src/enum/storage_permission.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
import 'package:json_annotation/json_annotation.dart';

enum StorageWritePermission {
@JsonValue(0)
noWrite,
@JsonValue(1)
ownerWrite,
}

enum StorageReadPermission {
@JsonValue(0)
noRead,
@JsonValue(1)
ownerRead,
@JsonValue(2)
publicRead,
}
50 changes: 25 additions & 25 deletions nakama/lib/src/models/account.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ class Account with _$Account {
const Account._();

const factory Account({
String? wallet,
String? email,
@Default([]) List<Device> devices,
String? customId,
DateTime? verifyTime,
DateTime? disableTime,
@JsonKey(name: 'wallet') String? wallet,
@JsonKey(name: 'email') String? email,
@JsonKey(name: 'devices') List<Device>? devices,
@JsonKey(name: 'custom_id') String? customId,
@JsonKey(name: 'verify_time') DateTime? verifyTime,
@JsonKey(name: 'disable_time') DateTime? disableTime,
required User user,
}) = _Account;

Expand All @@ -37,7 +37,7 @@ class Device with _$Device {

const factory Device({
required String id,
@Default({}) Map<String, dynamic> vars,
Map<String, dynamic>? vars,
}) = _Device;

factory Device.fromJson(Map<String, Object?> json) => _$DeviceFromJson(json);
Expand All @@ -53,24 +53,24 @@ class User with _$User {
const User._();

const factory User({
required String id,
String? username,
String? displayName,
String? avatarUrl,
String? langTag,
String? location,
String? timezone,
String? metadata,
String? facebookId,
String? googleId,
String? gamecenterId,
String? steamId,
@Default(false) bool online,
@Default(0) int edgeCount,
DateTime? createTime,
DateTime? updateTime,
String? facebookInstantGameId,
String? appleId,
@JsonKey(name: 'id') required String id,
@JsonKey(name: 'username') String? username,
@JsonKey(name: 'display_name') String? displayName,
@JsonKey(name: 'avatar_url') String? avatarUrl,
@JsonKey(name: 'lang_tag') String? langTag,
@JsonKey(name: 'location') String? location,
@JsonKey(name: 'timezone') String? timezone,
@JsonKey(name: 'metadata') String? metadata,
@JsonKey(name: 'facebook_id') String? facebookId,
@JsonKey(name: 'google_id') String? googleId,
@JsonKey(name: 'gamecenter_id') String? gamecenterId,
@JsonKey(name: 'steam_id') String? steamId,
@JsonKey(name: 'online') @Default(false) bool online,
@JsonKey(name: 'edge_count') @Default(0) int edgeCount,
@JsonKey(name: 'create_time') DateTime? createTime,
@JsonKey(name: 'update_time') DateTime? updateTime,
@JsonKey(name: 'facebook_instant_game_id') String? facebookInstantGameId,
@JsonKey(name: 'apple_id') String? appleId,
}) = _User;

factory User.fromJson(Map<String, Object?> json) => _$UserFromJson(json);
Expand Down
Loading