Skip to content

Commit c214745

Browse files
committed
Add rocket models
1 parent 7e2f881 commit c214745

File tree

96 files changed

+9423
-707
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+9423
-707
lines changed

integration_test/launches_mock_test.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
22
import 'package:flutter_bloc_app_template/features/launches/bloc/launches_bloc.dart';
33
import 'package:flutter_bloc_app_template/features/launches/launches_screen.dart';
44
import 'package:flutter_bloc_app_template/index.dart';
5+
import 'package:flutter_bloc_app_template/models/launch/launch_rocket_resource.dart';
56
import 'package:flutter_test/flutter_test.dart';
67
import 'package:integration_test/integration_test.dart';
78
import 'package:mocktail/mocktail.dart';
@@ -66,7 +67,7 @@ void main() {
6667
'2021-10-01T00:00:00Z',
6768
),
6869
launchTime: '00:00',
69-
rocket: RocketResource(
70+
rocket: LaunchRocketResource(
7071
rocketName: 'Rocket 1',
7172
rocketType: 'Type 1',
7273
),

lib/bloc/email_list/email_list_bloc.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import 'package:flutter_bloc_app_template/models/email.dart';
44
import 'package:flutter_bloc_app_template/repository/email_list_repository.dart';
55

66
part 'email_list_event.dart';
7-
87
part 'email_list_state.dart';
98

109
class EmailListBloc extends Bloc<EmailListEvent, EmailListState> {

lib/bloc/init/init_bloc.dart

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

44
part 'init_event.dart';
5-
65
part 'init_state.dart';
76

87
class InitBloc extends Bloc<InitEvent, InitState> {

lib/data/network/data_source/launches_network_data_source.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:flutter_bloc_app_template/data/network/api_result.dart';
22
import 'package:flutter_bloc_app_template/data/network/model/launch/full/network_launch_full_model.dart';
33
import 'package:flutter_bloc_app_template/data/network/model/launch/network_launch_model.dart';
4-
import 'package:flutter_bloc_app_template/data/network/service/launch_service.dart';
4+
import 'package:flutter_bloc_app_template/data/network/service/launch/launch_service.dart';
55

66
abstract class LaunchesDataSource {
77
Future<ApiResult<List<NetworkLaunchModel>>> getLaunches({
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import 'package:flutter_bloc_app_template/data/network/api_result.dart';
2+
import 'package:flutter_bloc_app_template/data/network/model/rocket/network_rocket_model.dart';
3+
import 'package:flutter_bloc_app_template/data/network/service/rocket/rocket_service.dart';
4+
5+
abstract class RocketDataSource {
6+
Future<ApiResult<List<NetworkRocketModel>>> getRockets({
7+
bool? hasId = true,
8+
int? limit,
9+
int? offset,
10+
});
11+
12+
Future<ApiResult<NetworkRocketModel>> getRocket(String rocketId);
13+
}
14+
15+
class RocketNetworkDataSource implements RocketDataSource {
16+
RocketNetworkDataSource(this._service);
17+
18+
final RocketService _service;
19+
20+
@override
21+
Future<ApiResult<List<NetworkRocketModel>>> getRockets(
22+
{bool? hasId = true,
23+
int? limit,
24+
int? offset,
25+
int? launchYear,
26+
int? launchSuccess,
27+
String? order}) async {
28+
try {
29+
final response = await _service.fetchRockets(
30+
hasId: hasId,
31+
limit: limit,
32+
offset: offset,
33+
);
34+
35+
return ApiResult.success(response.toList());
36+
} catch (e) {
37+
return Future.value(ApiResult.error(e.toString()));
38+
}
39+
}
40+
41+
@override
42+
Future<ApiResult<NetworkRocketModel>> getRocket(String rocketId) async {
43+
try {
44+
final result = await _service.fetchRocket(rocketId);
45+
return ApiResult.success(result);
46+
} catch (e) {
47+
return Future.value(ApiResult.error(e.toString()));
48+
}
49+
}
50+
}

lib/data/network/model/core/network_core_model.freezed.dart

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/data/network/model/launch/full/network_launch_full_model.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ abstract class NetworkLaunchFullModel with _$NetworkLaunchFullModel {
2323
@JsonKey(name: 'tentative_max_precision') String? tentativeMaxPrecision,
2424
@JsonKey(name: 'tbd') bool? tbd,
2525
@JsonKey(name: 'launch_window') int? launchWindow,
26-
@JsonKey(name: 'rocket') NetworkRocketModel? rocket,
26+
@JsonKey(name: 'rocket') NetworkLaunchRocketModel? rocket,
2727
@JsonKey(name: 'ships') List<String>? ships,
2828
@JsonKey(name: 'telemetry') NetworkTelemetry? telemetry,
2929
@JsonKey(name: 'launch_site') NetworkLaunchSite? launchSite,

0 commit comments

Comments
 (0)