Skip to content

Commit

Permalink
Separate converters into different files
Browse files Browse the repository at this point in the history
  • Loading branch information
rubuy-74 committed Jun 5, 2024
1 parent d1cc8b1 commit d0dcf2b
Show file tree
Hide file tree
Showing 8 changed files with 63 additions and 145 deletions.
15 changes: 15 additions & 0 deletions uni/lib/model/converters/date_time_converter.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import 'package:json_annotation/json_annotation.dart';

class DateTimeConverter extends JsonConverter<DateTime, String> {
const DateTimeConverter();

@override
DateTime fromJson(String json) {
return DateTime.parse(json);
}

@override
String toJson(DateTime object) {
return object.toIso8601String();
}
}
22 changes: 22 additions & 0 deletions uni/lib/model/converters/tuple_converter.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:tuple/tuple.dart';

class TupleConverter extends JsonConverter<Tuple2<String, String>?, String?> {
const TupleConverter();

@override
Tuple2<String, String>? fromJson(String? json) {
if (json == null) {
return null;
}
return Tuple2<String, String>('', json);
}

@override
String? toJson(Tuple2<String, String>? object) {
if (object == null) {
return null;
}
return object.item2;
}
}
21 changes: 1 addition & 20 deletions uni/lib/model/entities/bug_report.dart
Original file line number Diff line number Diff line change
@@ -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<Tuple2<String, String>?, String?> {
const TupleConverter();

@override
Tuple2<String, String>? fromJson(String? json) {
if (json == null) {
return null;
}
return Tuple2<String, String>('', json);
}

@override
String? toJson(Tuple2<String, String>? object) {
if (object == null) {
return null;
}
return object.item2;
}
}

@TupleConverter()
@JsonSerializable()
class BugReport {
Expand Down
18 changes: 1 addition & 17 deletions uni/lib/model/entities/exam.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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<DateTime, String> {
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:
Expand Down
15 changes: 1 addition & 14 deletions uni/lib/model/entities/lecture.dart
Original file line number Diff line number Diff line change
@@ -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<DateTime, String> {
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()
Expand Down
18 changes: 1 addition & 17 deletions uni/lib/model/entities/meal.dart
Original file line number Diff line number Diff line change
@@ -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<DateTime, String> {
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 {
Expand Down
96 changes: 20 additions & 76 deletions uni/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand All @@ -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:
Expand All @@ -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:
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down
3 changes: 2 additions & 1 deletion uni/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit d0dcf2b

Please sign in to comment.