Skip to content

Commit aae6957

Browse files
committed
style: format misc
1 parent 480f7e6 commit aae6957

File tree

5 files changed

+112
-101
lines changed

5 files changed

+112
-101
lines changed

lib/src/middlewares/data_fetch_middleware.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ Middleware dataFetchMiddleware() {
3030
final item = await _fetchItem(context, modelName, id);
3131

3232
if (item == null) {
33-
_log.warning(
34-
'Item not found for model "$modelName", id "$id".',
35-
);
33+
_log.warning('Item not found for model "$modelName", id "$id".');
3634
throw NotFoundException(
3735
'The requested item of type "$modelName" with id "$id" was not found.',
3836
);

lib/src/registry/data_operation_registry.dart

Lines changed: 89 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,45 @@
11
import 'package:core/core.dart';
22
import 'package:dart_frog/dart_frog.dart';
33
import 'package:data_repository/data_repository.dart';
4-
import 'package:flutter_news_app_api_server_full_source_code/src/services/dashboard_summary_service.dart';
54
import 'package:flutter_news_app_api_server_full_source_code/src/middlewares/ownership_check_middleware.dart';
5+
import 'package:flutter_news_app_api_server_full_source_code/src/services/dashboard_summary_service.dart';
66

77
// --- Typedefs for Data Operations ---
88

99
/// A function that fetches a single item by its ID.
10-
typedef ItemFetcher = Future<dynamic> Function(
11-
RequestContext context,
12-
String id,
13-
);
10+
typedef ItemFetcher =
11+
Future<dynamic> Function(RequestContext context, String id);
1412

1513
/// A function that fetches a paginated list of items.
16-
typedef AllItemsReader = Future<PaginatedResponse<dynamic>> Function(
17-
RequestContext context,
18-
String? userId,
19-
Map<String, dynamic>? filter,
20-
List<SortOption>? sort,
21-
PaginationOptions? pagination,
22-
);
14+
typedef AllItemsReader =
15+
Future<PaginatedResponse<dynamic>> Function(
16+
RequestContext context,
17+
String? userId,
18+
Map<String, dynamic>? filter,
19+
List<SortOption>? sort,
20+
PaginationOptions? pagination,
21+
);
2322

2423
/// A function that creates a new item.
25-
typedef ItemCreator = Future<dynamic> Function(
26-
RequestContext context,
27-
dynamic item,
28-
String? userId,
29-
);
24+
typedef ItemCreator =
25+
Future<dynamic> Function(
26+
RequestContext context,
27+
dynamic item,
28+
String? userId,
29+
);
3030

3131
/// A function that updates an existing item.
32-
typedef ItemUpdater = Future<dynamic> Function(
33-
RequestContext context,
34-
String id,
35-
dynamic item,
36-
String? userId,
37-
);
32+
typedef ItemUpdater =
33+
Future<dynamic> Function(
34+
RequestContext context,
35+
String id,
36+
dynamic item,
37+
String? userId,
38+
);
3839

3940
/// A function that deletes an item by its ID.
40-
typedef ItemDeleter = Future<void> Function(
41-
RequestContext context,
42-
String id,
43-
String? userId,
44-
);
41+
typedef ItemDeleter =
42+
Future<void> Function(RequestContext context, String id, String? userId);
4543

4644
/// {@template data_operation_registry}
4745
/// A centralized registry for all data handling functions (CRUD operations).
@@ -102,9 +100,8 @@ class DataOperationRegistry {
102100
c.read<DataRepository<Language>>().read(id: id, userId: null),
103101
'user': (c, id) =>
104102
c.read<DataRepository<User>>().read(id: id, userId: null),
105-
'user_app_settings': (c, id) => c
106-
.read<DataRepository<UserAppSettings>>()
107-
.read(id: id, userId: null),
103+
'user_app_settings': (c, id) =>
104+
c.read<DataRepository<UserAppSettings>>().read(id: id, userId: null),
108105
'user_content_preferences': (c, id) => c
109106
.read<DataRepository<UserContentPreferences>>()
110107
.read(id: id, userId: null),
@@ -119,40 +116,57 @@ class DataOperationRegistry {
119116
'headline': (c, uid, f, s, p) => c
120117
.read<DataRepository<Headline>>()
121118
.readAll(userId: uid, filter: f, sort: s, pagination: p),
122-
'topic': (c, uid, f, s, p) => c
123-
.read<DataRepository<Topic>>()
124-
.readAll(userId: uid, filter: f, sort: s, pagination: p),
125-
'source': (c, uid, f, s, p) => c
126-
.read<DataRepository<Source>>()
127-
.readAll(userId: uid, filter: f, sort: s, pagination: p),
128-
'country': (c, uid, f, s, p) => c
129-
.read<DataRepository<Country>>()
130-
.readAll(userId: uid, filter: f, sort: s, pagination: p),
119+
'topic': (c, uid, f, s, p) => c.read<DataRepository<Topic>>().readAll(
120+
userId: uid,
121+
filter: f,
122+
sort: s,
123+
pagination: p,
124+
),
125+
'source': (c, uid, f, s, p) => c.read<DataRepository<Source>>().readAll(
126+
userId: uid,
127+
filter: f,
128+
sort: s,
129+
pagination: p,
130+
),
131+
'country': (c, uid, f, s, p) => c.read<DataRepository<Country>>().readAll(
132+
userId: uid,
133+
filter: f,
134+
sort: s,
135+
pagination: p,
136+
),
131137
'language': (c, uid, f, s, p) => c
132138
.read<DataRepository<Language>>()
133139
.readAll(userId: uid, filter: f, sort: s, pagination: p),
134-
'user': (c, uid, f, s, p) => c
135-
.read<DataRepository<User>>()
136-
.readAll(userId: uid, filter: f, sort: s, pagination: p),
140+
'user': (c, uid, f, s, p) => c.read<DataRepository<User>>().readAll(
141+
userId: uid,
142+
filter: f,
143+
sort: s,
144+
pagination: p,
145+
),
137146
});
138147

139148
// --- Register Item Creators ---
140149
_itemCreators.addAll({
141-
'headline': (c, item, uid) => c
142-
.read<DataRepository<Headline>>()
143-
.create(item: item as Headline, userId: uid),
144-
'topic': (c, item, uid) => c
145-
.read<DataRepository<Topic>>()
146-
.create(item: item as Topic, userId: uid),
147-
'source': (c, item, uid) => c
148-
.read<DataRepository<Source>>()
149-
.create(item: item as Source, userId: uid),
150-
'country': (c, item, uid) => c
151-
.read<DataRepository<Country>>()
152-
.create(item: item as Country, userId: uid),
153-
'language': (c, item, uid) => c
154-
.read<DataRepository<Language>>()
155-
.create(item: item as Language, userId: uid),
150+
'headline': (c, item, uid) => c.read<DataRepository<Headline>>().create(
151+
item: item as Headline,
152+
userId: uid,
153+
),
154+
'topic': (c, item, uid) => c.read<DataRepository<Topic>>().create(
155+
item: item as Topic,
156+
userId: uid,
157+
),
158+
'source': (c, item, uid) => c.read<DataRepository<Source>>().create(
159+
item: item as Source,
160+
userId: uid,
161+
),
162+
'country': (c, item, uid) => c.read<DataRepository<Country>>().create(
163+
item: item as Country,
164+
userId: uid,
165+
),
166+
'language': (c, item, uid) => c.read<DataRepository<Language>>().create(
167+
item: item as Language,
168+
userId: uid,
169+
),
156170
'remote_config': (c, item, uid) => c
157171
.read<DataRepository<RemoteConfig>>()
158172
.create(item: item as RemoteConfig, userId: uid),
@@ -163,15 +177,21 @@ class DataOperationRegistry {
163177
'headline': (c, id, item, uid) => c
164178
.read<DataRepository<Headline>>()
165179
.update(id: id, item: item as Headline, userId: uid),
166-
'topic': (c, id, item, uid) => c
167-
.read<DataRepository<Topic>>()
168-
.update(id: id, item: item as Topic, userId: uid),
169-
'source': (c, id, item, uid) => c
170-
.read<DataRepository<Source>>()
171-
.update(id: id, item: item as Source, userId: uid),
172-
'country': (c, id, item, uid) => c
173-
.read<DataRepository<Country>>()
174-
.update(id: id, item: item as Country, userId: uid),
180+
'topic': (c, id, item, uid) => c.read<DataRepository<Topic>>().update(
181+
id: id,
182+
item: item as Topic,
183+
userId: uid,
184+
),
185+
'source': (c, id, item, uid) => c.read<DataRepository<Source>>().update(
186+
id: id,
187+
item: item as Source,
188+
userId: uid,
189+
),
190+
'country': (c, id, item, uid) => c.read<DataRepository<Country>>().update(
191+
id: id,
192+
item: item as Country,
193+
userId: uid,
194+
),
175195
'language': (c, id, item, uid) => c
176196
.read<DataRepository<Language>>()
177197
.update(id: id, item: item as Language, userId: uid),
@@ -208,9 +228,8 @@ class DataOperationRegistry {
208228
c.read<DataRepository<Language>>().delete(id: id, userId: uid),
209229
'user': (c, id, uid) =>
210230
c.read<DataRepository<User>>().delete(id: id, userId: uid),
211-
'user_app_settings': (c, id, uid) => c
212-
.read<DataRepository<UserAppSettings>>()
213-
.delete(id: id, userId: uid),
231+
'user_app_settings': (c, id, uid) =>
232+
c.read<DataRepository<UserAppSettings>>().delete(id: id, userId: uid),
214233
'user_content_preferences': (c, id, uid) => c
215234
.read<DataRepository<UserContentPreferences>>()
216235
.delete(id: id, userId: uid),

routes/_middleware.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,9 @@ Handler middleware(Handler handler) {
8585
// 2. Provide all dependencies to the inner handler.
8686
final deps = AppDependencies.instance;
8787
return handler
88-
.use(provider<DataOperationRegistry>((_) => DataOperationRegistry()))
88+
.use(
89+
provider<DataOperationRegistry>((_) => DataOperationRegistry()),
90+
)
8991
.use(provider<ModelRegistryMap>((_) => modelRegistry))
9092
.use(
9193
provider<DataRepository<Headline>>(

routes/api/v1/data/[id]/index.dart

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import 'dart:io';
22

33
import 'package:core/core.dart';
44
import 'package:dart_frog/dart_frog.dart';
5-
import 'package:data_repository/data_repository.dart';
65
import 'package:flutter_news_app_api_server_full_source_code/src/helpers/response_helper.dart';
76
import 'package:flutter_news_app_api_server_full_source_code/src/middlewares/ownership_check_middleware.dart';
87
import 'package:flutter_news_app_api_server_full_source_code/src/rbac/permission_service.dart';
@@ -38,9 +37,7 @@ Future<Response> onRequest(RequestContext context, String id) async {
3837
/// response.
3938
Future<Response> _handleGet(RequestContext context, String id) async {
4039
final modelName = context.read<String>();
41-
_logger.info(
42-
'Handling GET request for model "$modelName", id "$id".',
43-
);
40+
_logger.info('Handling GET request for model "$modelName", id "$id".');
4441

4542
// The item is guaranteed to be present by the dataFetchMiddleware.
4643
final item = context.read<FetchedItem<dynamic>>().data;
@@ -60,12 +57,9 @@ Future<Response> _handlePut(RequestContext context, String id) async {
6057
final modelConfig = context.read<ModelConfig<dynamic>>();
6158
final authenticatedUser = context.read<User>();
6259
final permissionService = context.read<PermissionService>();
63-
final userPreferenceLimitService =
64-
context.read<UserPreferenceLimitService>();
60+
final userPreferenceLimitService = context.read<UserPreferenceLimitService>();
6561

66-
_logger.info(
67-
'Handling PUT request for model "$modelName", id "$id".',
68-
);
62+
_logger.info('Handling PUT request for model "$modelName", id "$id".');
6963

7064
final requestBody = await context.request.json() as Map<String, dynamic>?;
7165
if (requestBody == null) {
@@ -142,9 +136,7 @@ Future<Response> _handleDelete(RequestContext context, String id) async {
142136
final authenticatedUser = context.read<User>();
143137
final permissionService = context.read<PermissionService>();
144138

145-
_logger.info(
146-
'Handling DELETE request for model "$modelName", id "$id".',
147-
);
139+
_logger.info('Handling DELETE request for model "$modelName", id "$id".');
148140

149141
final userIdForRepoCall = _getUserIdForRepoCall(
150142
modelConfig: modelConfig,
@@ -190,7 +182,9 @@ Future<dynamic> _updateItem(
190182
final updater = registry.itemUpdaters[modelName];
191183

192184
if (updater == null) {
193-
_logger.warning('Unsupported model type "$modelName" for update operation.');
185+
_logger.warning(
186+
'Unsupported model type "$modelName" for update operation.',
187+
);
194188
throw OperationFailedException(
195189
'Unsupported model type "$modelName" for update operation.',
196190
);
@@ -223,7 +217,9 @@ Future<void> _deleteItem(
223217
final deleter = registry.itemDeleters[modelName];
224218

225219
if (deleter == null) {
226-
_logger.warning('Unsupported model type "$modelName" for delete operation.');
220+
_logger.warning(
221+
'Unsupported model type "$modelName" for delete operation.',
222+
);
227223
throw OperationFailedException(
228224
'Unsupported model type "$modelName" for delete operation.',
229225
);

routes/api/v1/data/index.dart

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import 'dart:io';
33

44
import 'package:core/core.dart';
55
import 'package:dart_frog/dart_frog.dart';
6-
import 'package:data_repository/data_repository.dart';
76
import 'package:flutter_news_app_api_server_full_source_code/src/helpers/response_helper.dart';
87
import 'package:flutter_news_app_api_server_full_source_code/src/rbac/permission_service.dart';
98
import 'package:flutter_news_app_api_server_full_source_code/src/registry/data_operation_registry.dart';
@@ -33,10 +32,9 @@ Future<Response> _handleGet(RequestContext context) async {
3332
final authenticatedUser = context.read<User>();
3433
final params = context.request.uri.queryParameters;
3534

36-
_logger..info(
37-
'Handling GET collection request for model "$modelName".',
38-
)
39-
..finer('Query parameters: $params');
35+
_logger
36+
..info('Handling GET collection request for model "$modelName".')
37+
..finer('Query parameters: $params');
4038

4139
Map<String, dynamic>? filter;
4240
if (params.containsKey('filter')) {
@@ -69,11 +67,11 @@ Future<Response> _handleGet(RequestContext context) async {
6967

7068
final pagination =
7169
(params.containsKey('limit') || params.containsKey('cursor'))
72-
? PaginationOptions(
73-
cursor: params['cursor'],
74-
limit: int.tryParse(params['limit'] ?? ''),
75-
)
76-
: null;
70+
? PaginationOptions(
71+
cursor: params['cursor'],
72+
limit: int.tryParse(params['limit'] ?? ''),
73+
)
74+
: null;
7775

7876
final userIdForRepoCall =
7977
(modelConfig.getOwnerId != null &&
@@ -105,9 +103,7 @@ Future<Response> _handlePost(RequestContext context) async {
105103
final modelConfig = context.read<ModelConfig<dynamic>>();
106104
final authenticatedUser = context.read<User>();
107105

108-
_logger.info(
109-
'Handling POST request for model "$modelName".',
110-
);
106+
_logger.info('Handling POST request for model "$modelName".');
111107

112108
final requestBody = await context.request.json() as Map<String, dynamic>?;
113109
if (requestBody == null) {

0 commit comments

Comments
 (0)