workouttest_app/lib/service/exercise_service.dart
2020-09-16 15:41:39 +02:00

43 lines
1.5 KiB
Dart

import 'dart:convert';
import 'package:aitrainer_app/model/exercise.dart';
import 'package:aitrainer_app/service/api.dart';
class ExerciseApi {
final APIClient _client=new APIClient();
Future<List<Exercise>> getExerciseTypes(String param) async {
final body = await _client.get("exercises", param);
final Iterable json = jsonDecode(body);
final List<Exercise> exerciseTypes = json.map( (exerciseType) => Exercise.fromJson(exerciseType) ).toList();
return exerciseTypes;
}
Future<void> saveExercise(Exercise exercise) async {
String body = JsonEncoder().convert(exercise.toJson());
print(" ===== saving exercise id: " + exercise.exerciseId.toString() + ":" + body );
await _client.post(
"exercises/"+exercise.exerciseId.toString(),
body);
}
Future<Exercise> addExercise(Exercise exercise) async {
String body = JsonEncoder().convert(exercise.toJson());
print(" ===== add new exercise: " + body );
final String response = await _client.post(
"exercises",
body);
final Exercise savedExercise = Exercise.fromJson(jsonDecode(response));
return savedExercise;
}
Future<List<Exercise>> getExercisesByCustomer(int customerId ) async {
final body = await _client.get("exercises/customer/", customerId.toString() );
final Iterable json = jsonDecode(body);
final List<Exercise> exercises = json.map( (exercise) => Exercise.fromJson(exercise) ).toList();
return exercises;
}
}