handler method
- @override
override
Must be implemented
Implementation
@override
Future<Response> handler() async {
final bodyStr = await request.readAsString();
final bodyMap = jsonDecode(bodyStr);
final locations = bodyMap['locations'] as List;
final points = <TrackPoint>[];
for (final location in locations) {
points.add(TrackPoint.fromJson(location));
}
final token = request.headers['Authorization'];
if (token == null) {
return Response(401);
}
final failureOrResult = await repository.addListPoint(points, token);
return failureOrResult.fold(
(failure) {
if (failure is AuthorizationFailure) {
return Response(401);
}
return Response.internalServerError(
body: 'error: ${failure.toString()}',
);
},
(r) => Response.ok('{"affected_rows": "${r.toString()}"}'),
);
}