mirror of
https://github.com/wger-project/flutter.git
synced 2026-02-18 00:17:48 +01:00
Add the newly created session to the routine
This commit is contained in:
@@ -30,7 +30,7 @@ class WorkoutSessionApi {
|
||||
@JsonKey(required: false, includeToJson: false, defaultValue: [])
|
||||
List<Log> logs = [];
|
||||
|
||||
WorkoutSessionApi();
|
||||
WorkoutSessionApi({required this.session, this.logs = const []});
|
||||
|
||||
// Boilerplate
|
||||
factory WorkoutSessionApi.fromJson(Map<String, dynamic> json) =>
|
||||
|
||||
@@ -11,12 +11,13 @@ WorkoutSessionApi _$WorkoutSessionApiFromJson(Map<String, dynamic> json) {
|
||||
json,
|
||||
requiredKeys: const ['session'],
|
||||
);
|
||||
return WorkoutSessionApi()
|
||||
..session = WorkoutSession.fromJson(json['session'] as Map<String, dynamic>)
|
||||
..logs = (json['logs'] as List<dynamic>?)
|
||||
return WorkoutSessionApi(
|
||||
session: WorkoutSession.fromJson(json['session'] as Map<String, dynamic>),
|
||||
logs: (json['logs'] as List<dynamic>?)
|
||||
?.map((e) => Log.fromJson(e as Map<String, dynamic>))
|
||||
.toList() ??
|
||||
[];
|
||||
[],
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> _$WorkoutSessionApiToJson(WorkoutSessionApi instance) => <String, dynamic>{
|
||||
|
||||
@@ -454,7 +454,6 @@ class RoutinesProvider with ChangeNotifier {
|
||||
baseProvider.makeUrl(_daysUrlPath),
|
||||
);
|
||||
day = Day.fromJson(data);
|
||||
day.slots = [];
|
||||
final routine = findById(day.routineId);
|
||||
routine.days.add(day);
|
||||
if (refresh) {
|
||||
@@ -676,12 +675,15 @@ class RoutinesProvider with ChangeNotifier {
|
||||
return sessions;
|
||||
}
|
||||
|
||||
Future<WorkoutSession> addSession(WorkoutSession session) async {
|
||||
Future<WorkoutSession> addSession(WorkoutSession session, int routineId) async {
|
||||
final data = await baseProvider.post(
|
||||
session.toJson(),
|
||||
baseProvider.makeUrl(_sessionUrlPath),
|
||||
);
|
||||
final newSession = WorkoutSession.fromJson(data);
|
||||
final routine = findById(routineId);
|
||||
routine.sessions.add(WorkoutSessionApi(session: newSession));
|
||||
|
||||
notifyListeners();
|
||||
return newSession;
|
||||
}
|
||||
|
||||
@@ -921,7 +921,7 @@ class _SessionPageState extends State<SessionPage> {
|
||||
// Save the entry on the server
|
||||
try {
|
||||
if (widget._session.id == null) {
|
||||
await routinesProvider.addSession(widget._session);
|
||||
await routinesProvider.addSession(widget._session, widget._routine.id!);
|
||||
} else {
|
||||
await routinesProvider.editSession(widget._session);
|
||||
}
|
||||
|
||||
@@ -427,12 +427,16 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider {
|
||||
) as _i13.Future<List<_i10.WorkoutSession>>);
|
||||
|
||||
@override
|
||||
_i13.Future<_i10.WorkoutSession> addSession(_i10.WorkoutSession? session) => (super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session]),
|
||||
_i13.Future<_i10.WorkoutSession> addSession(
|
||||
_i10.WorkoutSession? session,
|
||||
int? routineId,
|
||||
) =>
|
||||
(super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
returnValue: _i13.Future<_i10.WorkoutSession>.value(
|
||||
_FakeWorkoutSession_8(
|
||||
this,
|
||||
Invocation.method(#addSession, [session]),
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
),
|
||||
),
|
||||
) as _i13.Future<_i10.WorkoutSession>);
|
||||
|
||||
@@ -427,12 +427,16 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider {
|
||||
) as _i13.Future<List<_i10.WorkoutSession>>);
|
||||
|
||||
@override
|
||||
_i13.Future<_i10.WorkoutSession> addSession(_i10.WorkoutSession? session) => (super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session]),
|
||||
_i13.Future<_i10.WorkoutSession> addSession(
|
||||
_i10.WorkoutSession? session,
|
||||
int? routineId,
|
||||
) =>
|
||||
(super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
returnValue: _i13.Future<_i10.WorkoutSession>.value(
|
||||
_FakeWorkoutSession_8(
|
||||
this,
|
||||
Invocation.method(#addSession, [session]),
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
),
|
||||
),
|
||||
) as _i13.Future<_i10.WorkoutSession>);
|
||||
|
||||
@@ -427,12 +427,16 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider {
|
||||
) as _i13.Future<List<_i10.WorkoutSession>>);
|
||||
|
||||
@override
|
||||
_i13.Future<_i10.WorkoutSession> addSession(_i10.WorkoutSession? session) => (super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session]),
|
||||
_i13.Future<_i10.WorkoutSession> addSession(
|
||||
_i10.WorkoutSession? session,
|
||||
int? routineId,
|
||||
) =>
|
||||
(super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
returnValue: _i13.Future<_i10.WorkoutSession>.value(
|
||||
_FakeWorkoutSession_8(
|
||||
this,
|
||||
Invocation.method(#addSession, [session]),
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
),
|
||||
),
|
||||
) as _i13.Future<_i10.WorkoutSession>);
|
||||
|
||||
@@ -427,12 +427,16 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider {
|
||||
) as _i13.Future<List<_i10.WorkoutSession>>);
|
||||
|
||||
@override
|
||||
_i13.Future<_i10.WorkoutSession> addSession(_i10.WorkoutSession? session) => (super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session]),
|
||||
_i13.Future<_i10.WorkoutSession> addSession(
|
||||
_i10.WorkoutSession? session,
|
||||
int? routineId,
|
||||
) =>
|
||||
(super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
returnValue: _i13.Future<_i10.WorkoutSession>.value(
|
||||
_FakeWorkoutSession_8(
|
||||
this,
|
||||
Invocation.method(#addSession, [session]),
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
),
|
||||
),
|
||||
) as _i13.Future<_i10.WorkoutSession>);
|
||||
|
||||
@@ -427,12 +427,16 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider {
|
||||
) as _i13.Future<List<_i10.WorkoutSession>>);
|
||||
|
||||
@override
|
||||
_i13.Future<_i10.WorkoutSession> addSession(_i10.WorkoutSession? session) => (super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session]),
|
||||
_i13.Future<_i10.WorkoutSession> addSession(
|
||||
_i10.WorkoutSession? session,
|
||||
int? routineId,
|
||||
) =>
|
||||
(super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
returnValue: _i13.Future<_i10.WorkoutSession>.value(
|
||||
_FakeWorkoutSession_8(
|
||||
this,
|
||||
Invocation.method(#addSession, [session]),
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
),
|
||||
),
|
||||
) as _i13.Future<_i10.WorkoutSession>);
|
||||
|
||||
@@ -427,12 +427,16 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider {
|
||||
) as _i13.Future<List<_i10.WorkoutSession>>);
|
||||
|
||||
@override
|
||||
_i13.Future<_i10.WorkoutSession> addSession(_i10.WorkoutSession? session) => (super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session]),
|
||||
_i13.Future<_i10.WorkoutSession> addSession(
|
||||
_i10.WorkoutSession? session,
|
||||
int? routineId,
|
||||
) =>
|
||||
(super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
returnValue: _i13.Future<_i10.WorkoutSession>.value(
|
||||
_FakeWorkoutSession_8(
|
||||
this,
|
||||
Invocation.method(#addSession, [session]),
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
),
|
||||
),
|
||||
) as _i13.Future<_i10.WorkoutSession>);
|
||||
|
||||
@@ -427,12 +427,16 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider {
|
||||
) as _i13.Future<List<_i10.WorkoutSession>>);
|
||||
|
||||
@override
|
||||
_i13.Future<_i10.WorkoutSession> addSession(_i10.WorkoutSession? session) => (super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session]),
|
||||
_i13.Future<_i10.WorkoutSession> addSession(
|
||||
_i10.WorkoutSession? session,
|
||||
int? routineId,
|
||||
) =>
|
||||
(super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
returnValue: _i13.Future<_i10.WorkoutSession>.value(
|
||||
_FakeWorkoutSession_8(
|
||||
this,
|
||||
Invocation.method(#addSession, [session]),
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
),
|
||||
),
|
||||
) as _i13.Future<_i10.WorkoutSession>);
|
||||
|
||||
@@ -427,12 +427,16 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider {
|
||||
) as _i13.Future<List<_i10.WorkoutSession>>);
|
||||
|
||||
@override
|
||||
_i13.Future<_i10.WorkoutSession> addSession(_i10.WorkoutSession? session) => (super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session]),
|
||||
_i13.Future<_i10.WorkoutSession> addSession(
|
||||
_i10.WorkoutSession? session,
|
||||
int? routineId,
|
||||
) =>
|
||||
(super.noSuchMethod(
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
returnValue: _i13.Future<_i10.WorkoutSession>.value(
|
||||
_FakeWorkoutSession_8(
|
||||
this,
|
||||
Invocation.method(#addSession, [session]),
|
||||
Invocation.method(#addSession, [session, routineId]),
|
||||
),
|
||||
),
|
||||
) as _i13.Future<_i10.WorkoutSession>);
|
||||
|
||||
Reference in New Issue
Block a user