Skip to content

Commit 0944237

Browse files
authored
Merge pull request #51 from flutter-news-app-full-source-code/fix-content-management-archive
Fix content management archive
2 parents 7ff06b2 + a199db0 commit 0944237

21 files changed

+110
-29
lines changed

lib/content_management/bloc/archived_headlines/archived_headlines_bloc.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,11 @@ class ArchivedHeadlinesBloc
7575
emit(state.copyWith(headlines: updatedHeadlines));
7676

7777
try {
78-
await _headlinesRepository.update(
78+
final restoredHeadline = await _headlinesRepository.update(
7979
id: event.id,
8080
item: headlineToRestore.copyWith(status: ContentStatus.active),
8181
);
82+
emit(state.copyWith(restoredHeadline: restoredHeadline));
8283
} on HttpException catch (e) {
8384
emit(state.copyWith(headlines: originalHeadlines, exception: e));
8485
} catch (e) {

lib/content_management/bloc/archived_headlines/archived_headlines_state.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,31 @@ class ArchivedHeadlinesState extends Equatable {
1616
this.cursor,
1717
this.hasMore = false,
1818
this.exception,
19+
this.restoredHeadline,
1920
});
2021

2122
final ArchivedHeadlinesStatus status;
2223
final List<Headline> headlines;
2324
final String? cursor;
2425
final bool hasMore;
2526
final HttpException? exception;
27+
final Headline? restoredHeadline;
2628

2729
ArchivedHeadlinesState copyWith({
2830
ArchivedHeadlinesStatus? status,
2931
List<Headline>? headlines,
3032
String? cursor,
3133
bool? hasMore,
3234
HttpException? exception,
35+
Headline? restoredHeadline,
3336
}) {
3437
return ArchivedHeadlinesState(
3538
status: status ?? this.status,
3639
headlines: headlines ?? this.headlines,
3740
cursor: cursor ?? this.cursor,
3841
hasMore: hasMore ?? this.hasMore,
3942
exception: exception ?? this.exception,
43+
restoredHeadline: restoredHeadline,
4044
);
4145
}
4246

@@ -47,5 +51,6 @@ class ArchivedHeadlinesState extends Equatable {
4751
cursor,
4852
hasMore,
4953
exception,
54+
restoredHeadline,
5055
];
5156
}

lib/content_management/bloc/archived_sources/archived_sources_bloc.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,11 @@ class ArchivedSourcesBloc
7474
emit(state.copyWith(sources: updatedSources));
7575

7676
try {
77-
await _sourcesRepository.update(
77+
final restoredSource = await _sourcesRepository.update(
7878
id: event.id,
7979
item: sourceToRestore.copyWith(status: ContentStatus.active),
8080
);
81+
emit(state.copyWith(restoredSource: restoredSource));
8182
} on HttpException catch (e) {
8283
emit(state.copyWith(sources: originalSources, exception: e));
8384
} catch (e) {

lib/content_management/bloc/archived_sources/archived_sources_state.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,31 @@ class ArchivedSourcesState extends Equatable {
1616
this.cursor,
1717
this.hasMore = false,
1818
this.exception,
19+
this.restoredSource,
1920
});
2021

2122
final ArchivedSourcesStatus status;
2223
final List<Source> sources;
2324
final String? cursor;
2425
final bool hasMore;
2526
final HttpException? exception;
27+
final Source? restoredSource;
2628

2729
ArchivedSourcesState copyWith({
2830
ArchivedSourcesStatus? status,
2931
List<Source>? sources,
3032
String? cursor,
3133
bool? hasMore,
3234
HttpException? exception,
35+
Source? restoredSource,
3336
}) {
3437
return ArchivedSourcesState(
3538
status: status ?? this.status,
3639
sources: sources ?? this.sources,
3740
cursor: cursor ?? this.cursor,
3841
hasMore: hasMore ?? this.hasMore,
3942
exception: exception ?? this.exception,
43+
restoredSource: restoredSource,
4044
);
4145
}
4246

@@ -47,5 +51,6 @@ class ArchivedSourcesState extends Equatable {
4751
cursor,
4852
hasMore,
4953
exception,
54+
restoredSource,
5055
];
5156
}

lib/content_management/bloc/archived_topics/archived_topics_bloc.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,11 @@ class ArchivedTopicsBloc
7474
emit(state.copyWith(topics: updatedTopics));
7575

7676
try {
77-
await _topicsRepository.update(
77+
final restoredTopic = await _topicsRepository.update(
7878
id: event.id,
7979
item: topicToRestore.copyWith(status: ContentStatus.active),
8080
);
81+
emit(state.copyWith(restoredTopic: restoredTopic));
8182
} on HttpException catch (e) {
8283
emit(state.copyWith(topics: originalTopics, exception: e));
8384
} catch (e) {

lib/content_management/bloc/archived_topics/archived_topics_state.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,31 @@ class ArchivedTopicsState extends Equatable {
1616
this.cursor,
1717
this.hasMore = false,
1818
this.exception,
19+
this.restoredTopic,
1920
});
2021

2122
final ArchivedTopicsStatus status;
2223
final List<Topic> topics;
2324
final String? cursor;
2425
final bool hasMore;
2526
final HttpException? exception;
27+
final Topic? restoredTopic;
2628

2729
ArchivedTopicsState copyWith({
2830
ArchivedTopicsStatus? status,
2931
List<Topic>? topics,
3032
String? cursor,
3133
bool? hasMore,
3234
HttpException? exception,
35+
Topic? restoredTopic,
3336
}) {
3437
return ArchivedTopicsState(
3538
status: status ?? this.status,
3639
topics: topics ?? this.topics,
3740
cursor: cursor ?? this.cursor,
3841
hasMore: hasMore ?? this.hasMore,
3942
exception: exception ?? this.exception,
43+
restoredTopic: restoredTopic,
4044
);
4145
}
4246

@@ -47,5 +51,6 @@ class ArchivedTopicsState extends Equatable {
4751
cursor,
4852
hasMore,
4953
exception,
54+
restoredTopic,
5055
];
5156
}

lib/content_management/bloc/create_headline/create_headline_bloc.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,11 @@ class CreateHeadlineBloc
5454
final [sourcesResponse, topicsResponse] = await Future.wait([
5555
_sourcesRepository.readAll(
5656
sort: [const SortOption('updatedAt', SortOrder.desc)],
57+
filter: {'status': ContentStatus.active.name},
5758
),
5859
_topicsRepository.readAll(
5960
sort: [const SortOption('updatedAt', SortOrder.desc)],
61+
filter: {'status': ContentStatus.active.name},
6062
),
6163
]);
6264

lib/content_management/bloc/create_source/create_source_bloc.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,11 @@ class CreateSourceBloc extends Bloc<CreateSourceEvent, CreateSourceState> {
5454
final responses = await Future.wait([
5555
_countriesRepository.readAll(
5656
sort: [const SortOption('name', SortOrder.asc)],
57+
filter: {'status': ContentStatus.active.name},
5758
),
5859
_languagesRepository.readAll(
5960
sort: [const SortOption('name', SortOrder.asc)],
61+
filter: {'status': ContentStatus.active.name},
6062
),
6163
]);
6264
final countriesPaginated = responses[0] as PaginatedResponse<Country>;

lib/content_management/bloc/edit_headline/edit_headline_bloc.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,11 @@ class EditHeadlineBloc extends Bloc<EditHeadlineEvent, EditHeadlineState> {
5555
_headlinesRepository.read(id: _headlineId),
5656
_sourcesRepository.readAll(
5757
sort: [const SortOption('updatedAt', SortOrder.desc)],
58+
filter: {'status': ContentStatus.active.name},
5859
),
5960
_topicsRepository.readAll(
6061
sort: [const SortOption('updatedAt', SortOrder.desc)],
62+
filter: {'status': ContentStatus.active.name},
6163
),
6264
]);
6365

lib/content_management/bloc/edit_source/edit_source_bloc.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,11 @@ class EditSourceBloc extends Bloc<EditSourceEvent, EditSourceState> {
5656
_sourcesRepository.read(id: _sourceId),
5757
_countriesRepository.readAll(
5858
sort: [const SortOption('name', SortOrder.asc)],
59+
filter: {'status': ContentStatus.active.name},
5960
),
6061
_languagesRepository.readAll(
6162
sort: [const SortOption('name', SortOrder.asc)],
63+
filter: {'status': ContentStatus.active.name},
6264
),
6365
]);
6466

0 commit comments

Comments
 (0)