Skip to content

Commit 1daddff

Browse files
authored
Merge pull request #29 from waterbustech/refactor/initial-base-url
Refactor: Initial base url
2 parents 26a1bfc + 596ed25 commit 1daddff

File tree

14 files changed

+46
-109
lines changed

14 files changed

+46
-109
lines changed

lib/core/api/auth/repositories/auth_repository.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ import 'package:injectable/injectable.dart';
22

33
import 'package:waterbus_sdk/core/api/auth/datasources/auth_local_data_source.dart';
44
import 'package:waterbus_sdk/core/api/auth/datasources/auth_remote_data_source.dart';
5-
import 'package:waterbus_sdk/types/error/failures.dart';
6-
import 'package:waterbus_sdk/types/externals/models/index.dart';
7-
import 'package:waterbus_sdk/types/result.dart';
5+
import 'package:waterbus_sdk/flutter_waterbus_sdk.dart';
86

97
abstract class AuthRepository {
108
Future<Result<bool>> renewToken();

lib/core/api/base/base_remote_data.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class BaseRemoteData {
2121

2222
Dio dio = Dio(
2323
BaseOptions(
24-
baseUrl: WaterbusSdk.apiUrl,
24+
baseUrl: WaterbusSdk.baseUrl.baseUrlApi,
2525
connectTimeout: 10.seconds,
2626
receiveTimeout: 10.seconds,
2727
sendTimeout: 10.seconds,
@@ -146,7 +146,7 @@ class BaseRemoteData {
146146
'Connection': 'keep-alive',
147147
'Accept': '*/*',
148148
'Accept-Encoding': 'gzip, deflate, br',
149-
'X-API-Key': WaterbusSdk.apiKey,
149+
'X-API-Key': WaterbusSdk.baseUrl.apiKey,
150150
},
151151
);
152152
}
@@ -167,14 +167,14 @@ class BaseRemoteData {
167167
'Connection': 'keep-alive',
168168
'Accept': '*/*',
169169
'Accept-Encoding': 'gzip, deflate, br',
170-
'X-API-Key': WaterbusSdk.apiKey,
170+
'X-API-Key': WaterbusSdk.baseUrl.apiKey,
171171
};
172172
}
173173

174174
initialize() async {
175175
dio = Dio(
176176
BaseOptions(
177-
baseUrl: WaterbusSdk.apiUrl,
177+
baseUrl: WaterbusSdk.baseUrl.baseUrlApi,
178178
connectTimeout: 10.seconds,
179179
receiveTimeout: 10.seconds,
180180
sendTimeout: 10.seconds,

lib/core/api/chat/datasources/chat_remote_data_source.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,8 @@ class ChatRemoteDataSourceImpl extends ChatRemoteDataSource {
5151

5252
if ([StatusCode.ok, StatusCode.created].contains(response.statusCode)) {
5353
final Map<String, dynamic> message = {
54-
"conversations": (response.data['rooms'] as List)
55-
.map((room) => Room.fromJson(room))
56-
.toList(),
54+
"conversations":
55+
(response.data as List).map((room) => Room.fromJson(room)).toList(),
5756
"key": WaterbusSdk.messageEncryptionKey,
5857
};
5958

lib/core/api/rooms/datasources/room_remote_data_source.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'package:waterbus_sdk/constants/status_code.dart';
66
import 'package:waterbus_sdk/core/api/base/base_remote_data.dart';
77
import 'package:waterbus_sdk/types/error/app_exception.dart';
88
import 'package:waterbus_sdk/types/externals/models/index.dart';
9-
import 'package:waterbus_sdk/types/internals/models/create_room_params.dart';
109
import 'package:waterbus_sdk/types/result.dart';
1110

1211
abstract class RoomRemoteDataSource {

lib/core/api/rooms/repositories/room_repository.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import 'package:injectable/injectable.dart';
22

33
import 'package:waterbus_sdk/core/api/rooms/datasources/room_remote_data_source.dart';
44
import 'package:waterbus_sdk/types/externals/models/index.dart';
5-
import 'package:waterbus_sdk/types/internals/models/create_room_params.dart';
65
import 'package:waterbus_sdk/types/result.dart';
76

87
abstract class RoomRepository {

lib/core/websocket/ws_handler_impl.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class WsHandlerImpl extends WsHandler {
6161
},
6262
).build();
6363

64-
_socket = io(WaterbusSdk.wsUrl, options);
64+
_socket = io(WaterbusSdk.baseUrl.url, options);
6565

6666
_socket?.connect();
6767

lib/flutter_waterbus_sdk.dart

Lines changed: 10 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,10 @@ export 'package:flutter_webrtc_plus/flutter_webrtc_plus.dart';
1717
export 'package:rhttp/rhttp.dart';
1818

1919
class WaterbusSdk {
20-
static String apiUrl = '';
21-
static String wsUrl = '';
20+
static BaseUrl baseUrl = BaseUrl(url: "", suffixUrl: "");
2221
static String messageEncryptionKey = '';
2322
static String webrtcE2eeKey = 'waterbus';
24-
static String? apiKey;
23+
2524
static HttpVersionPref httpVersionPref = HttpVersionPref.all;
2625
static WaterbusEventListener listener = WaterbusEventListener();
2726

@@ -41,18 +40,14 @@ class WaterbusSdk {
4140
}
4241

4342
Future<void> initializeApp({
44-
required String wsUrl,
45-
required String apiUrl,
46-
String? apiKey,
43+
required BaseUrl baseUrl,
4744

4845
/// Encryption message will be disabled if the key is empty
4946
String messageEncryptionKey = '',
5047
String webrtcE2eeKey = '',
5148
HttpVersionPref httpVersionPref = HttpVersionPref.all,
5249
}) async {
53-
WaterbusSdk.wsUrl = wsUrl;
54-
WaterbusSdk.apiUrl = apiUrl;
55-
WaterbusSdk.apiKey = apiKey;
50+
WaterbusSdk.baseUrl = baseUrl;
5651
WaterbusSdk.messageEncryptionKey = messageEncryptionKey;
5752
WaterbusSdk.webrtcE2eeKey = webrtcE2eeKey;
5853
WaterbusSdk.httpVersionPref = httpVersionPref;
@@ -72,40 +67,16 @@ class WaterbusSdk {
7267
}
7368

7469
// Rooms
75-
Future<Result<Room>> createRoom({
76-
required Room room,
77-
required String password,
78-
required int? userId,
79-
}) async {
80-
return await _sdk.createRoom(
81-
room: room,
82-
password: password,
83-
userId: userId,
84-
);
70+
Future<Result<Room>> createRoom({required RoomParams params}) async {
71+
return await _sdk.createRoom(params: params);
8572
}
8673

87-
Future<Result<Room>> joinRoom({
88-
required Room room,
89-
required String password,
90-
required int? userId,
91-
}) async {
92-
return await _sdk.joinRoom(
93-
room: room,
94-
password: password,
95-
userId: userId,
96-
);
74+
Future<Result<Room>> joinRoom({required RoomParams params}) async {
75+
return await _sdk.joinRoom(params: params);
9776
}
9877

99-
Future<Result<bool>> updateRoom({
100-
required Room room,
101-
required String password,
102-
required int? userId,
103-
}) async {
104-
return await _sdk.updateRoom(
105-
room: room,
106-
password: password,
107-
userId: userId,
108-
);
78+
Future<Result<bool>> updateRoom({required RoomParams params}) async {
79+
return await _sdk.updateRoom(params: params);
10980
}
11081

11182
Future<Result<Room>> getRoomInfo({required String code}) async {
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class BaseUrl {
2+
final String url;
3+
final String suffixUrl;
4+
String? apiKey;
5+
6+
BaseUrl({required this.url, required this.suffixUrl, this.apiKey});
7+
8+
String get baseUrlApi => url + suffixUrl;
9+
}

lib/types/externals/models/index.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,5 @@ export 'subscribe_payload.dart';
1616
export 'video_config.dart';
1717
export 'video_quality.dart';
1818
export 'presigned_url.dart';
19+
export 'base_url.dart';
20+
export 'room_params.dart';

0 commit comments

Comments
 (0)