From d0dcf2b2a4a81b4f7b7d083d979c2637f0768402 Mon Sep 17 00:00:00 2001 From: rubuy-74 Date: Wed, 5 Jun 2024 14:41:50 +0100 Subject: [PATCH] Separate converters into different files --- .../model/converters/date_time_converter.dart | 15 +++ uni/lib/model/converters/tuple_converter.dart | 22 +++++ uni/lib/model/entities/bug_report.dart | 21 +--- uni/lib/model/entities/exam.dart | 18 +--- uni/lib/model/entities/lecture.dart | 15 +-- uni/lib/model/entities/meal.dart | 18 +--- uni/pubspec.lock | 96 ++++--------------- uni/pubspec.yaml | 3 +- 8 files changed, 63 insertions(+), 145 deletions(-) create mode 100644 uni/lib/model/converters/date_time_converter.dart create mode 100644 uni/lib/model/converters/tuple_converter.dart diff --git a/uni/lib/model/converters/date_time_converter.dart b/uni/lib/model/converters/date_time_converter.dart new file mode 100644 index 000000000..70612ce65 --- /dev/null +++ b/uni/lib/model/converters/date_time_converter.dart @@ -0,0 +1,15 @@ +import 'package:json_annotation/json_annotation.dart'; + +class DateTimeConverter extends JsonConverter { + const DateTimeConverter(); + + @override + DateTime fromJson(String json) { + return DateTime.parse(json); + } + + @override + String toJson(DateTime object) { + return object.toIso8601String(); + } +} diff --git a/uni/lib/model/converters/tuple_converter.dart b/uni/lib/model/converters/tuple_converter.dart new file mode 100644 index 000000000..49cb64ded --- /dev/null +++ b/uni/lib/model/converters/tuple_converter.dart @@ -0,0 +1,22 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:tuple/tuple.dart'; + +class TupleConverter extends JsonConverter?, String?> { + const TupleConverter(); + + @override + Tuple2? fromJson(String? json) { + if (json == null) { + return null; + } + return Tuple2('', json); + } + + @override + String? toJson(Tuple2? object) { + if (object == null) { + return null; + } + return object.item2; + } +} diff --git a/uni/lib/model/entities/bug_report.dart b/uni/lib/model/entities/bug_report.dart index 73eb12434..8667e4945 100644 --- a/uni/lib/model/entities/bug_report.dart +++ b/uni/lib/model/entities/bug_report.dart @@ -1,29 +1,10 @@ // Stores information about Bug Report import 'package:json_annotation/json_annotation.dart'; import 'package:tuple/tuple.dart'; +import 'package:uni/model/converters/tuple_converter.dart'; part '../../generated/model/entities/bug_report.g.dart'; -class TupleConverter extends JsonConverter?, String?> { - const TupleConverter(); - - @override - Tuple2? fromJson(String? json) { - if (json == null) { - return null; - } - return Tuple2('', json); - } - - @override - String? toJson(Tuple2? object) { - if (object == null) { - return null; - } - return object.item2; - } -} - @TupleConverter() @JsonSerializable() class BugReport { diff --git a/uni/lib/model/entities/exam.dart b/uni/lib/model/entities/exam.dart index 85defb3e2..e8134c3bc 100644 --- a/uni/lib/model/entities/exam.dart +++ b/uni/lib/model/entities/exam.dart @@ -2,26 +2,10 @@ import 'package:intl/intl.dart'; import 'package:json_annotation/json_annotation.dart'; import 'package:logger/logger.dart'; import 'package:uni/model/entities/app_locale.dart'; +import 'package:uni/model/entities/reference.dart'; part '../../generated/model/entities/exam.g.dart'; -class DateTimeConverter extends JsonConverter { - const DateTimeConverter(); - - @override - DateTime fromJson(String json) { - final format = DateFormat('yyyy-M-dd'); - return format.parse(json); - } - - @override - String toJson(DateTime object) { - final format = DateFormat('yyyy-MM-dd'); - - return format.format(object); - } -} - /// Manages a generic Exam. /// /// The information stored is: diff --git a/uni/lib/model/entities/lecture.dart b/uni/lib/model/entities/lecture.dart index 2cc749414..c129c2a83 100644 --- a/uni/lib/model/entities/lecture.dart +++ b/uni/lib/model/entities/lecture.dart @@ -1,22 +1,9 @@ import 'package:json_annotation/json_annotation.dart'; import 'package:logger/logger.dart'; +import 'package:uni/model/entities/reference.dart'; part '../../generated/model/entities/lecture.g.dart'; -class DateTimeConverter extends JsonConverter { - const DateTimeConverter(); - - @override - DateTime fromJson(String json) { - return DateTime.parse(json); - } - - @override - String toJson(DateTime object) { - return object.toIso8601String(); - } -} - /// Stores information about a lecture. @DateTimeConverter() @JsonSerializable() diff --git a/uni/lib/model/entities/meal.dart b/uni/lib/model/entities/meal.dart index 847320882..828df6837 100644 --- a/uni/lib/model/entities/meal.dart +++ b/uni/lib/model/entities/meal.dart @@ -1,25 +1,9 @@ -import 'package:intl/intl.dart'; import 'package:json_annotation/json_annotation.dart'; +import 'package:uni/model/entities/reference.dart'; import 'package:uni/model/utils/day_of_week.dart'; part '../../generated/model/entities/meal.g.dart'; -class DateTimeConverter extends JsonConverter { - const DateTimeConverter(); - - @override - DateTime fromJson(String json) { - final format = DateFormat('d-M-y'); - return format.parse(json); - } - - @override - String toJson(DateTime object) { - final format = DateFormat('d-M-y'); - return format.format(object); - } -} - @DateTimeConverter() @JsonSerializable() class Meal { diff --git a/uni/pubspec.lock b/uni/pubspec.lock index 52fe3beef..da9a9fdc6 100644 --- a/uni/pubspec.lock +++ b/uni/pubspec.lock @@ -25,14 +25,6 @@ packages: url: "https://pub.dev" source: hosted version: "6.4.1" - analyzer_plugin: - dependency: transitive - description: - name: analyzer_plugin - sha256: "9661b30b13a685efaee9f02e5d01ed9f2b423bd889d28a304d02d704aee69161" - url: "https://pub.dev" - source: hosted - version: "0.11.3" animated_stack_widget: dependency: transitive description: @@ -201,14 +193,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.3" - ci: - dependency: transitive - description: - name: ci - sha256: "145d095ce05cddac4d797a158bc4cf3b6016d1fe63d8c3d2fbd7212590adca13" - url: "https://pub.dev" - source: hosted - version: "0.1.0" cli_util: dependency: transitive description: @@ -305,30 +289,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.1" - custom_lint: - dependency: transitive - description: - name: custom_lint - sha256: "7c0aec12df22f9082146c354692056677f1e70bc43471644d1fdb36c6fdda799" - url: "https://pub.dev" - source: hosted - version: "0.6.4" - custom_lint_builder: - dependency: transitive - description: - name: custom_lint_builder - sha256: d7dc41e709dde223806660268678be7993559e523eb3164e2a1425fd6f7615a9 - url: "https://pub.dev" - source: hosted - version: "0.6.4" - custom_lint_core: - dependency: transitive - description: - name: custom_lint_core - sha256: a85e8f78f4c52f6c63cdaf8c872eb573db0231dcdf3c3a5906d493c1f8bc20e6 - url: "https://pub.dev" - source: hosted - version: "0.6.3" dart_style: dependency: transitive description: @@ -495,50 +455,50 @@ packages: dependency: "direct main" description: name: flutter_secure_storage - sha256: ffdbb60130e4665d2af814a0267c481bcf522c41ae2e43caf69fa0146876d685 + sha256: "165164745e6afb5c0e3e3fcc72a012fb9e58496fb26ffb92cf22e16a821e85d0" url: "https://pub.dev" source: hosted - version: "9.0.0" + version: "9.2.2" flutter_secure_storage_linux: dependency: transitive description: name: flutter_secure_storage_linux - sha256: "3d5032e314774ee0e1a7d0a9f5e2793486f0dff2dd9ef5a23f4e3fb2a0ae6a9e" + sha256: "4d91bfc23047422cbcd73ac684bc169859ee766482517c22172c86596bf1464b" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" flutter_secure_storage_macos: dependency: transitive description: name: flutter_secure_storage_macos - sha256: bd33935b4b628abd0b86c8ca20655c5b36275c3a3f5194769a7b3f37c905369c + sha256: "1693ab11121a5f925bbea0be725abfcfbbcf36c1e29e571f84a0c0f436147a81" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.1.2" flutter_secure_storage_platform_interface: dependency: transitive description: name: flutter_secure_storage_platform_interface - sha256: "0d4d3a5dd4db28c96ae414d7ba3b8422fd735a8255642774803b2532c9a61d7e" + sha256: cf91ad32ce5adef6fba4d736a542baca9daf3beac4db2d04be350b87f69ac4a8 url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.1.2" flutter_secure_storage_web: dependency: transitive description: name: flutter_secure_storage_web - sha256: "30f84f102df9dcdaa2241866a958c2ec976902ebdaa8883fbfe525f1f2f3cf20" + sha256: f4ebff989b4f07b2656fb16b47852c0aab9fed9b4ec1c70103368337bc1886a9 url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.2.1" flutter_secure_storage_windows: dependency: transitive description: name: flutter_secure_storage_windows - sha256: "5809c66f9dd3b4b93b0a6e2e8561539405322ee767ac2f64d084e2ab5429d108" + sha256: b20b07cb5ed4ed74fc567b78a72936203f587eba460af1df11281c9326cd3709 url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.1.2" flutter_svg: dependency: "direct main" description: @@ -565,14 +525,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.14.11" - freezed_annotation: - dependency: transitive - description: - name: freezed_annotation - sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d - url: "https://pub.dev" - source: hosted - version: "2.4.1" frontend_server_client: dependency: transitive description: @@ -597,14 +549,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.1" - hotreloader: - dependency: transitive - description: - name: hotreloader - sha256: ed56fdc1f3a8ac924e717257621d09e9ec20e308ab6352a73a50a1d7a4d9158e - url: "https://pub.dev" - source: hosted - version: "4.2.0" html: dependency: "direct main" description: @@ -717,14 +661,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.1" - leancode_lint: - dependency: "direct dev" - description: - name: leancode_lint - sha256: a0130e0dbe5d5ea2f03f7ba7fa097f0fd44be9dc43d3d7badd6d09cc50015384 - url: "https://pub.dev" - source: hosted - version: "11.0.0" lists: dependency: transitive description: @@ -1483,6 +1419,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + very_good_analysis: + dependency: "direct dev" + description: + name: very_good_analysis + sha256: "9ae7f3a3bd5764fb021b335ca28a34f040cd0ab6eec00a1b213b445dae58a4b8" + url: "https://pub.dev" + source: hosted + version: "5.1.0" vm_service: dependency: transitive description: diff --git a/uni/pubspec.yaml b/uni/pubspec.yaml index 87b95e463..9bcfb870c 100644 --- a/uni/pubspec.yaml +++ b/uni/pubspec.yaml @@ -37,12 +37,13 @@ dependencies: flutter_map: ^5.0.0 flutter_map_marker_popup: ^5.0.0 flutter_markdown: ^0.6.0 + flutter_secure_storage: ^9.2.2 flutter_svg: ^2.0.9 flutter_widget_from_html_core: ^0.14.11 html: ^0.15.0 http: ^1.1.0 image: ^4.1.4 - intl: ^0.18.0 + intl: ^0.19.0 json_annotation: ^4.8.1 json_serializable: ^6.7.1 latlong2: ^0.9.0