mirror of
https://github.com/wger-project/flutter.git
synced 2026-02-18 00:17:48 +01:00
Merge branch 'master' into feature/improve-min-app-version
This commit is contained in:
15
.github/workflows/ci.yml
vendored
15
.github/workflows/ci.yml
vendored
@@ -25,14 +25,17 @@ jobs:
|
||||
- run: dart --version
|
||||
- run: flutter --version
|
||||
|
||||
- name: Install sqlite3-dev
|
||||
run: sudo apt install libsqlite3-dev
|
||||
|
||||
- name: Install app dependencies
|
||||
run: flutter pub get
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt install libsqlite3-dev lcov
|
||||
flutter pub get
|
||||
|
||||
# Removing some folders from the coverage since these files are not really
|
||||
# part of the app code and just get in the way of the report
|
||||
- name: Test app
|
||||
run: flutter test --coverage
|
||||
run: |
|
||||
flutter test --coverage
|
||||
lcov --remove coverage/lcov.info 'lib/l10n/generated/*' 'lib/theme/*' -o coverage/lcov.info
|
||||
|
||||
- name: Coveralls
|
||||
uses: coverallsapp/github-action@v2
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
tags:
|
||||
golden:
|
||||
golden: { }
|
||||
@@ -1,67 +1,11 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:wger/models/exercises/alias.dart';
|
||||
import 'package:wger/models/exercises/category.dart';
|
||||
import 'package:wger/models/exercises/comment.dart';
|
||||
import 'package:wger/models/exercises/equipment.dart';
|
||||
import 'package:wger/models/exercises/exercise.dart';
|
||||
import 'package:wger/models/exercises/image.dart';
|
||||
import 'package:wger/models/exercises/language.dart';
|
||||
import 'package:wger/models/exercises/muscle.dart';
|
||||
import 'package:wger/models/exercises/translation.dart';
|
||||
import 'package:wger/models/exercises/variation.dart';
|
||||
import 'package:wger/models/exercises/video.dart';
|
||||
|
||||
class ExerciseBaseConverter extends TypeConverter<Exercise, String> {
|
||||
const ExerciseBaseConverter();
|
||||
|
||||
@override
|
||||
Exercise fromSql(String fromDb) {
|
||||
final Map<String, dynamic> baseData = json.decode(fromDb);
|
||||
|
||||
final category = ExerciseCategory.fromJson(baseData['categories']);
|
||||
final musclesPrimary = baseData['muscless'].map((e) => Muscle.fromJson(e)).toList();
|
||||
final musclesSecondary = baseData['musclesSecondary'].map((e) => Muscle.fromJson(e)).toList();
|
||||
final equipment = baseData['equipments'].map((e) => Equipment.fromJson(e)).toList();
|
||||
final images = baseData['images'].map((e) => ExerciseImage.fromJson(e)).toList();
|
||||
final videos = baseData['videos'].map((e) => Video.fromJson(e)).toList();
|
||||
|
||||
final List<Translation> translations = [];
|
||||
for (final exerciseData in baseData['translations']) {
|
||||
final translation = Translation(
|
||||
id: exerciseData['id'],
|
||||
name: exerciseData['name'],
|
||||
description: exerciseData['description'],
|
||||
exerciseId: baseData['id'],
|
||||
);
|
||||
translation.aliases = exerciseData['aliases'].map((e) => Alias.fromJson(e)).toList();
|
||||
translation.notes = exerciseData['notes'].map((e) => Comment.fromJson(e)).toList();
|
||||
translation.language = Language.fromJson(exerciseData['languageObj']);
|
||||
translations.add(translation);
|
||||
}
|
||||
|
||||
final exerciseBase = Exercise(
|
||||
id: baseData['id'],
|
||||
uuid: baseData['uuid'],
|
||||
created: null,
|
||||
//creationDate: toDate(baseData['creation_date']),
|
||||
musclesSecondary: musclesSecondary.cast<Muscle>(),
|
||||
muscles: musclesPrimary.cast<Muscle>(),
|
||||
equipment: equipment.cast<Equipment>(),
|
||||
category: category,
|
||||
images: images.cast<ExerciseImage>(),
|
||||
translations: translations,
|
||||
videos: videos.cast<Video>(),
|
||||
);
|
||||
return exerciseBase;
|
||||
}
|
||||
|
||||
@override
|
||||
String toSql(Exercise value) {
|
||||
return json.encode(value.toJson());
|
||||
}
|
||||
}
|
||||
|
||||
class MuscleConverter extends TypeConverter<Muscle, String> {
|
||||
const MuscleConverter();
|
||||
|
||||
20
pubspec.lock
20
pubspec.lock
@@ -558,18 +558,18 @@ packages:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: freezed
|
||||
sha256: "59a584c24b3acdc5250bb856d0d3e9c0b798ed14a4af1ddb7dc1c7b41df91c9c"
|
||||
sha256: "7ed2ddaa47524976d5f2aa91432a79da36a76969edd84170777ac5bea82d797c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.5.8"
|
||||
version: "3.0.4"
|
||||
freezed_annotation:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: freezed_annotation
|
||||
sha256: c2e2d632dd9b8a2b7751117abcfc2b4888ecfe181bd9fca7170d9ef02e595fe2
|
||||
sha256: c87ff004c8aa6af2d531668b46a4ea379f7191dc6dfa066acd53d506da6e044b
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.4"
|
||||
version: "3.0.0"
|
||||
frontend_server_client:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1064,10 +1064,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: provider
|
||||
sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c
|
||||
sha256: "489024f942069c2920c844ee18bb3d467c69e48955a4f32d1677f71be103e310"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.1.2"
|
||||
version: "6.1.4"
|
||||
pub_semver:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1128,10 +1128,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: shared_preferences
|
||||
sha256: "846849e3e9b68f3ef4b60c60cf4b3e02e9321bc7f4d8c4692cf87ffa82fc8a3a"
|
||||
sha256: "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.5.2"
|
||||
version: "2.5.3"
|
||||
shared_preferences_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1461,10 +1461,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: video_player
|
||||
sha256: "48941c8b05732f9582116b1c01850b74dbee1d8520cd7e34ad4609d6df666845"
|
||||
sha256: "7d78f0cfaddc8c19d4cb2d3bebe1bfef11f2103b0a03e5398b303a1bf65eeb14"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.9.3"
|
||||
version: "2.9.5"
|
||||
video_player_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
10
pubspec.yaml
10
pubspec.yaml
@@ -49,7 +49,7 @@ dependencies:
|
||||
flutter_typeahead: ^5.2.0
|
||||
flutter_zxing: ^1.8.2
|
||||
font_awesome_flutter: ^10.8.0
|
||||
freezed_annotation: ^2.4.4
|
||||
freezed_annotation: ^3.0.0
|
||||
get_it: ^8.0.3
|
||||
http: ^1.2.2
|
||||
image_picker: ^1.1.0
|
||||
@@ -59,14 +59,14 @@ dependencies:
|
||||
package_info_plus: ^8.3.0
|
||||
path: ^1.9.0
|
||||
path_provider: ^2.1.5
|
||||
provider: ^6.1.2
|
||||
provider: ^6.1.4
|
||||
rive: ^0.13.20
|
||||
shared_preferences: ^2.5.2
|
||||
shared_preferences: ^2.5.3
|
||||
sqlite3_flutter_libs: ^0.5.31
|
||||
table_calendar: ^3.0.8
|
||||
url_launcher: ^6.3.1
|
||||
version: ^3.0.2
|
||||
video_player: ^2.9.3
|
||||
video_player: ^2.9.5
|
||||
logging: ^1.3.0
|
||||
flutter_riverpod: ^2.6.1
|
||||
|
||||
@@ -82,7 +82,7 @@ dev_dependencies:
|
||||
cider: ^0.2.7
|
||||
drift_dev: ^2.26.0
|
||||
flutter_lints: ^5.0.0
|
||||
freezed: ^2.5.7
|
||||
freezed: ^3.0.4
|
||||
golden_toolkit: ^0.15.0
|
||||
json_serializable: ^6.9.4
|
||||
mockito: ^5.4.4
|
||||
|
||||
Reference in New Issue
Block a user