Skip to content

Commit cf79a1e

Browse files
committed
refactor(content_management): migrate to core and data_repository packages
- Replace ht_data_repository with data_repository package - Replace ht_shared with core package - Update import paths for l10n, router, and ui_kit - Adjust exception handling from HtHttpException to HttpException - Simplify some code and improve readability
1 parent c616421 commit cf79a1e

24 files changed

+201
-317
lines changed

lib/content_management/bloc/content_management_bloc.dart

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:bloc/bloc.dart';
2+
import 'package:core/core.dart';
3+
import 'package:data_repository/data_repository.dart';
24
import 'package:equatable/equatable.dart';
3-
import 'package:ht_data_repository/ht_data_repository.dart';
4-
import 'package:ht_shared/ht_shared.dart';
55

66
part 'content_management_event.dart';
77
part 'content_management_state.dart';
@@ -21,9 +21,9 @@ enum ContentManagementTab {
2121
class ContentManagementBloc
2222
extends Bloc<ContentManagementEvent, ContentManagementState> {
2323
ContentManagementBloc({
24-
required HtDataRepository<Headline> headlinesRepository,
25-
required HtDataRepository<Topic> topicsRepository,
26-
required HtDataRepository<Source> sourcesRepository,
24+
required DataRepository<Headline> headlinesRepository,
25+
required DataRepository<Topic> topicsRepository,
26+
required DataRepository<Source> sourcesRepository,
2727
}) : _headlinesRepository = headlinesRepository,
2828
_topicsRepository = topicsRepository,
2929
_sourcesRepository = sourcesRepository,
@@ -40,9 +40,9 @@ class ContentManagementBloc
4040
on<DeleteSourceRequested>(_onDeleteSourceRequested);
4141
}
4242

43-
final HtDataRepository<Headline> _headlinesRepository;
44-
final HtDataRepository<Topic> _topicsRepository;
45-
final HtDataRepository<Source> _sourcesRepository;
43+
final DataRepository<Headline> _headlinesRepository;
44+
final DataRepository<Topic> _topicsRepository;
45+
final DataRepository<Source> _sourcesRepository;
4646

4747
void _onContentManagementTabChanged(
4848
ContentManagementTabChanged event,
@@ -74,7 +74,7 @@ class ContentManagementBloc
7474
headlinesHasMore: paginatedHeadlines.hasMore,
7575
),
7676
);
77-
} on HtHttpException catch (e) {
77+
} on HttpException catch (e) {
7878
emit(
7979
state.copyWith(
8080
headlinesStatus: ContentManagementStatus.failure,
@@ -101,7 +101,7 @@ class ContentManagementBloc
101101
.where((h) => h.id != event.id)
102102
.toList();
103103
emit(state.copyWith(headlines: updatedHeadlines));
104-
} on HtHttpException catch (e) {
104+
} on HttpException catch (e) {
105105
emit(
106106
state.copyWith(
107107
headlinesStatus: ContentManagementStatus.failure,
@@ -153,7 +153,7 @@ class ContentManagementBloc
153153
topicsHasMore: paginatedTopics.hasMore,
154154
),
155155
);
156-
} on HtHttpException catch (e) {
156+
} on HttpException catch (e) {
157157
emit(
158158
state.copyWith(
159159
topicsStatus: ContentManagementStatus.failure,
@@ -180,7 +180,7 @@ class ContentManagementBloc
180180
.where((c) => c.id != event.id)
181181
.toList();
182182
emit(state.copyWith(topics: updatedTopics));
183-
} on HtHttpException catch (e) {
183+
} on HttpException catch (e) {
184184
emit(
185185
state.copyWith(
186186
topicsStatus: ContentManagementStatus.failure,
@@ -232,7 +232,7 @@ class ContentManagementBloc
232232
sourcesHasMore: paginatedSources.hasMore,
233233
),
234234
);
235-
} on HtHttpException catch (e) {
235+
} on HttpException catch (e) {
236236
emit(
237237
state.copyWith(
238238
sourcesStatus: ContentManagementStatus.failure,
@@ -259,7 +259,7 @@ class ContentManagementBloc
259259
.where((s) => s.id != event.id)
260260
.toList();
261261
emit(state.copyWith(sources: updatedSources));
262-
} on HtHttpException catch (e) {
262+
} on HttpException catch (e) {
263263
emit(
264264
state.copyWith(
265265
sourcesStatus: ContentManagementStatus.failure,

lib/content_management/bloc/content_management_state.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ class ContentManagementState extends Equatable {
7575
final bool sourcesHasMore;
7676

7777
/// The error describing an operation failure, if any.
78-
final HtHttpException? exception;
78+
final HttpException? exception;
7979

8080
/// Creates a copy of this [ContentManagementState] with updated values.
8181
ContentManagementState copyWith({
@@ -92,7 +92,7 @@ class ContentManagementState extends Equatable {
9292
List<Source>? sources,
9393
String? sourcesCursor,
9494
bool? sourcesHasMore,
95-
HtHttpException? exception,
95+
HttpException? exception,
9696
}) {
9797
return ContentManagementState(
9898
activeTab: activeTab ?? this.activeTab,

lib/content_management/bloc/create_headline/create_headline_bloc.dart

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import 'package:bloc/bloc.dart';
2+
import 'package:core/core.dart';
3+
import 'package:data_repository/data_repository.dart';
24
import 'package:equatable/equatable.dart';
35
import 'package:flutter/foundation.dart';
4-
import 'package:ht_data_repository/ht_data_repository.dart';
5-
import 'package:ht_shared/ht_shared.dart';
66
import 'package:uuid/uuid.dart';
77

88
part 'create_headline_event.dart';
@@ -13,10 +13,10 @@ class CreateHeadlineBloc
1313
extends Bloc<CreateHeadlineEvent, CreateHeadlineState> {
1414
/// {@macro create_headline_bloc}
1515
CreateHeadlineBloc({
16-
required HtDataRepository<Headline> headlinesRepository,
17-
required HtDataRepository<Source> sourcesRepository,
18-
required HtDataRepository<Topic> topicsRepository,
19-
required HtDataRepository<Country> countriesRepository,
16+
required DataRepository<Headline> headlinesRepository,
17+
required DataRepository<Source> sourcesRepository,
18+
required DataRepository<Topic> topicsRepository,
19+
required DataRepository<Country> countriesRepository,
2020
}) : _headlinesRepository = headlinesRepository,
2121
_sourcesRepository = sourcesRepository,
2222
_topicsRepository = topicsRepository,
@@ -34,10 +34,10 @@ class CreateHeadlineBloc
3434
on<CreateHeadlineSubmitted>(_onSubmitted);
3535
}
3636

37-
final HtDataRepository<Headline> _headlinesRepository;
38-
final HtDataRepository<Source> _sourcesRepository;
39-
final HtDataRepository<Topic> _topicsRepository;
40-
final HtDataRepository<Country> _countriesRepository;
37+
final DataRepository<Headline> _headlinesRepository;
38+
final DataRepository<Source> _sourcesRepository;
39+
final DataRepository<Topic> _topicsRepository;
40+
final DataRepository<Country> _countriesRepository;
4141
final _uuid = const Uuid();
4242

4343
Future<void> _onDataLoaded(
@@ -68,13 +68,8 @@ class CreateHeadlineBloc
6868
countries: countries,
6969
),
7070
);
71-
} on HtHttpException catch (e) {
72-
emit(
73-
state.copyWith(
74-
status: CreateHeadlineStatus.failure,
75-
exception: e,
76-
),
77-
);
71+
} on HttpException catch (e) {
72+
emit(state.copyWith(status: CreateHeadlineStatus.failure, exception: e));
7873
} catch (e) {
7974
emit(
8075
state.copyWith(
@@ -176,13 +171,8 @@ class CreateHeadlineBloc
176171
createdHeadline: newHeadline,
177172
),
178173
);
179-
} on HtHttpException catch (e) {
180-
emit(
181-
state.copyWith(
182-
status: CreateHeadlineStatus.failure,
183-
exception: e,
184-
),
185-
);
174+
} on HttpException catch (e) {
175+
emit(state.copyWith(status: CreateHeadlineStatus.failure, exception: e));
186176
} catch (e) {
187177
emit(
188178
state.copyWith(

lib/content_management/bloc/create_headline/create_headline_state.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ final class CreateHeadlineState extends Equatable {
4949
final List<Topic> topics;
5050
final List<Country> countries;
5151
final ContentStatus contentStatus;
52-
final HtHttpException? exception;
52+
final HttpException? exception;
5353
final Headline? createdHeadline;
5454

5555
/// Returns true if the form is valid and can be submitted.
@@ -75,7 +75,7 @@ final class CreateHeadlineState extends Equatable {
7575
List<Topic>? topics,
7676
List<Country>? countries,
7777
ContentStatus? contentStatus,
78-
HtHttpException? exception,
78+
HttpException? exception,
7979
Headline? createdHeadline,
8080
}) {
8181
return CreateHeadlineState(

lib/content_management/bloc/create_source/create_source_bloc.dart

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import 'package:bloc/bloc.dart';
2+
import 'package:core/core.dart';
3+
import 'package:data_repository/data_repository.dart';
24
import 'package:equatable/equatable.dart';
35
import 'package:flutter/foundation.dart';
4-
import 'package:ht_data_repository/ht_data_repository.dart';
5-
import 'package:ht_shared/ht_shared.dart';
66
import 'package:uuid/uuid.dart';
77

88
part 'create_source_event.dart';
@@ -12,8 +12,8 @@ part 'create_source_state.dart';
1212
class CreateSourceBloc extends Bloc<CreateSourceEvent, CreateSourceState> {
1313
/// {@macro create_source_bloc}
1414
CreateSourceBloc({
15-
required HtDataRepository<Source> sourcesRepository,
16-
required HtDataRepository<Country> countriesRepository,
15+
required DataRepository<Source> sourcesRepository,
16+
required DataRepository<Country> countriesRepository,
1717
}) : _sourcesRepository = sourcesRepository,
1818
_countriesRepository = countriesRepository,
1919
super(const CreateSourceState()) {
@@ -28,8 +28,8 @@ class CreateSourceBloc extends Bloc<CreateSourceEvent, CreateSourceState> {
2828
on<CreateSourceSubmitted>(_onSubmitted);
2929
}
3030

31-
final HtDataRepository<Source> _sourcesRepository;
32-
final HtDataRepository<Country> _countriesRepository;
31+
final DataRepository<Source> _sourcesRepository;
32+
final DataRepository<Country> _countriesRepository;
3333
final _uuid = const Uuid();
3434

3535
Future<void> _onDataLoaded(
@@ -47,13 +47,8 @@ class CreateSourceBloc extends Bloc<CreateSourceEvent, CreateSourceState> {
4747
countries: countries,
4848
),
4949
);
50-
} on HtHttpException catch (e) {
51-
emit(
52-
state.copyWith(
53-
status: CreateSourceStatus.failure,
54-
exception: e,
55-
),
56-
);
50+
} on HttpException catch (e) {
51+
emit(state.copyWith(status: CreateSourceStatus.failure, exception: e));
5752
} catch (e) {
5853
emit(
5954
state.copyWith(
@@ -147,13 +142,8 @@ class CreateSourceBloc extends Bloc<CreateSourceEvent, CreateSourceState> {
147142
createdSource: newSource,
148143
),
149144
);
150-
} on HtHttpException catch (e) {
151-
emit(
152-
state.copyWith(
153-
status: CreateSourceStatus.failure,
154-
exception: e,
155-
),
156-
);
145+
} on HttpException catch (e) {
146+
emit(state.copyWith(status: CreateSourceStatus.failure, exception: e));
157147
} catch (e) {
158148
emit(
159149
state.copyWith(

lib/content_management/bloc/create_source/create_source_state.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ final class CreateSourceState extends Equatable {
4444
final Country? headquarters;
4545
final List<Country> countries;
4646
final ContentStatus contentStatus;
47-
final HtHttpException? exception;
47+
final HttpException? exception;
4848
final Source? createdSource;
4949

5050
/// Returns true if the form is valid and can be submitted.
@@ -66,7 +66,7 @@ final class CreateSourceState extends Equatable {
6666
ValueGetter<Country?>? headquarters,
6767
List<Country>? countries,
6868
ContentStatus? contentStatus,
69-
HtHttpException? exception,
69+
HttpException? exception,
7070
Source? createdSource,
7171
}) {
7272
return CreateSourceState(

lib/content_management/bloc/create_topic/create_topic_bloc.dart

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:bloc/bloc.dart';
2+
import 'package:core/core.dart';
3+
import 'package:data_repository/data_repository.dart';
24
import 'package:equatable/equatable.dart';
3-
import 'package:ht_data_repository/ht_data_repository.dart';
4-
import 'package:ht_shared/ht_shared.dart';
55
import 'package:uuid/uuid.dart';
66

77
part 'create_topic_event.dart';
@@ -10,30 +10,24 @@ part 'create_topic_state.dart';
1010
/// A BLoC to manage the state of creating a new topic.
1111
class CreateTopicBloc extends Bloc<CreateTopicEvent, CreateTopicState> {
1212
/// {@macro create_topic_bloc}
13-
CreateTopicBloc({
14-
required HtDataRepository<Topic> topicsRepository,
15-
}) : _topicsRepository = topicsRepository,
16-
super(const CreateTopicState()) {
13+
CreateTopicBloc({required DataRepository<Topic> topicsRepository})
14+
: _topicsRepository = topicsRepository,
15+
super(const CreateTopicState()) {
1716
on<CreateTopicNameChanged>(_onNameChanged);
1817
on<CreateTopicDescriptionChanged>(_onDescriptionChanged);
1918
on<CreateTopicIconUrlChanged>(_onIconUrlChanged);
2019
on<CreateTopicStatusChanged>(_onStatusChanged);
2120
on<CreateTopicSubmitted>(_onSubmitted);
2221
}
2322

24-
final HtDataRepository<Topic> _topicsRepository;
23+
final DataRepository<Topic> _topicsRepository;
2524
final _uuid = const Uuid();
2625

2726
void _onNameChanged(
2827
CreateTopicNameChanged event,
2928
Emitter<CreateTopicState> emit,
3029
) {
31-
emit(
32-
state.copyWith(
33-
name: event.name,
34-
status: CreateTopicStatus.initial,
35-
),
36-
);
30+
emit(state.copyWith(name: event.name, status: CreateTopicStatus.initial));
3731
}
3832

3933
void _onDescriptionChanged(
@@ -53,10 +47,7 @@ class CreateTopicBloc extends Bloc<CreateTopicEvent, CreateTopicState> {
5347
Emitter<CreateTopicState> emit,
5448
) {
5549
emit(
56-
state.copyWith(
57-
iconUrl: event.iconUrl,
58-
status: CreateTopicStatus.initial,
59-
),
50+
state.copyWith(iconUrl: event.iconUrl, status: CreateTopicStatus.initial),
6051
);
6152
}
6253

@@ -98,13 +89,8 @@ class CreateTopicBloc extends Bloc<CreateTopicEvent, CreateTopicState> {
9889
createdTopic: newTopic,
9990
),
10091
);
101-
} on HtHttpException catch (e) {
102-
emit(
103-
state.copyWith(
104-
status: CreateTopicStatus.failure,
105-
exception: e,
106-
),
107-
);
92+
} on HttpException catch (e) {
93+
emit(state.copyWith(status: CreateTopicStatus.failure, exception: e));
10894
} catch (e) {
10995
emit(
11096
state.copyWith(

lib/content_management/bloc/create_topic/create_topic_state.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ final class CreateTopicState extends Equatable {
3333
final String description;
3434
final String iconUrl;
3535
final ContentStatus contentStatus;
36-
final HtHttpException? exception;
36+
final HttpException? exception;
3737
final Topic? createdTopic;
3838

3939
/// Returns true if the form is valid and can be submitted.
@@ -47,7 +47,7 @@ final class CreateTopicState extends Equatable {
4747
String? description,
4848
String? iconUrl,
4949
ContentStatus? contentStatus,
50-
HtHttpException? exception,
50+
HttpException? exception,
5151
Topic? createdTopic,
5252
}) {
5353
return CreateTopicState(

0 commit comments

Comments
 (0)