From 729c281f1e735be8bcfc87521c7cd83fb2cd7f2e Mon Sep 17 00:00:00 2001 From: checkedear <271323618+checkedear@users.noreply.github.com> Date: Thu, 4 Jun 2026 11:56:23 +0200 Subject: [PATCH] ref: const constructors --- kreta_api/lib/src/model/all_lessons.dart | 2 +- kreta_api/lib/src/model/class_group.dart | 14 ++++++-------- kreta_api/lib/src/model/generic.dart | 7 ++++--- kreta_api/lib/src/model/grade.dart | 6 +++--- kreta_api/lib/src/model/guardian.dart | 2 +- kreta_api/lib/src/model/homework.dart | 2 +- kreta_api/lib/src/model/institution.dart | 10 +++++++--- kreta_api/lib/src/model/notice_board.dart | 6 +++--- kreta_api/lib/src/model/omission.dart | 4 ++-- kreta_api/lib/src/model/student.dart | 13 ++++++------- kreta_api/lib/src/model/subject.dart | 2 +- kreta_api/lib/src/model/test.dart | 2 +- kreta_api/lib/src/model/timetable.dart | 2 +- 13 files changed, 37 insertions(+), 35 deletions(-) diff --git a/kreta_api/lib/src/model/all_lessons.dart b/kreta_api/lib/src/model/all_lessons.dart index c09b44d..0b4bc37 100644 --- a/kreta_api/lib/src/model/all_lessons.dart +++ b/kreta_api/lib/src/model/all_lessons.dart @@ -30,7 +30,7 @@ class AllLessons { final String teacherAvatarTypePath; final dynamic taskGroupId; - AllLessons({ + const AllLessons({ required this.schoolId, required this.yearId, this.classId, diff --git a/kreta_api/lib/src/model/class_group.dart b/kreta_api/lib/src/model/class_group.dart index 8f41ac2..74ae8b6 100644 --- a/kreta_api/lib/src/model/class_group.dart +++ b/kreta_api/lib/src/model/class_group.dart @@ -2,9 +2,7 @@ import '../extensions.dart'; import 'generic.dart'; import 'subject.dart'; -class ClassGroup { - final String uid; - final String name; +class ClassGroup extends NameUid { final UidObj? headTeacher; final UidObj? substituteHeadTeacher; final NameUidDesc studyGroup; @@ -13,9 +11,9 @@ class ClassGroup { final bool isActive; final String type; - ClassGroup({ - required this.uid, - required this.name, + const ClassGroup({ + required super.uid, + required super.name, required this.headTeacher, required this.substituteHeadTeacher, required this.studyGroup, @@ -61,7 +59,7 @@ class SubjectAverage extends UidObj { final double? weightedSum; final double? weightedCount; - SubjectAverage({ + const SubjectAverage({ required super.uid, required this.subject, this.average, @@ -90,7 +88,7 @@ class ClassGroupSubjectAverage extends UidObj { final double? studentAverage; final double? classGroupAverage; - ClassGroupSubjectAverage({ + const ClassGroupSubjectAverage({ required super.uid, required this.subject, this.classGroupAverage, diff --git a/kreta_api/lib/src/model/generic.dart b/kreta_api/lib/src/model/generic.dart index 74b0341..5847620 100644 --- a/kreta_api/lib/src/model/generic.dart +++ b/kreta_api/lib/src/model/generic.dart @@ -1,7 +1,8 @@ class NameUidDesc extends NameUid { + static final EMPTY = NameUidDesc(name: "", uid: "", description: ""); final String description; - NameUidDesc({ + const NameUidDesc({ required super.uid, required super.name, required this.description, @@ -32,7 +33,7 @@ class NameUidDesc extends NameUid { class NameUid extends UidObj { final String name; - NameUid({required super.uid, required this.name}); + const NameUid({required super.uid, required this.name}); factory NameUid.fromJson(Map json) { return NameUid(uid: json['Uid'], name: json['Nev']); @@ -46,7 +47,7 @@ class NameUid extends UidObj { class UidObj { final String uid; - UidObj({required this.uid}); + const UidObj({required this.uid}); factory UidObj.fromJson(Map json) { return UidObj(uid: json['Uid']); diff --git a/kreta_api/lib/src/model/grade.dart b/kreta_api/lib/src/model/grade.dart index 7a7e00d..8d38b0a 100644 --- a/kreta_api/lib/src/model/grade.dart +++ b/kreta_api/lib/src/model/grade.dart @@ -9,17 +9,17 @@ class Grade extends UidObj { final String? topic; final NameUidDesc type; final NameUidDesc? mode; - NameUidDesc valueType; + final NameUidDesc valueType; final String teacher; final String? kind; - int? numericValue; + final int? numericValue; final String strValue; final int? weightPercentage; final String? shortStrValue; final UidObj? classGroup; final int sortIndex; - Grade({ + const Grade({ required super.uid, required this.recordDate, required this.creationDate, diff --git a/kreta_api/lib/src/model/guardian.dart b/kreta_api/lib/src/model/guardian.dart index 22ce4f3..aef77c9 100644 --- a/kreta_api/lib/src/model/guardian.dart +++ b/kreta_api/lib/src/model/guardian.dart @@ -5,7 +5,7 @@ class Guardian extends NameUid { final bool isLegalRepresentative; final String? phoneNumber; - Guardian({ + const Guardian({ required this.email, required this.isLegalRepresentative, required super.name, diff --git a/kreta_api/lib/src/model/homework.dart b/kreta_api/lib/src/model/homework.dart index 34c1324..37abdca 100644 --- a/kreta_api/lib/src/model/homework.dart +++ b/kreta_api/lib/src/model/homework.dart @@ -16,7 +16,7 @@ class Homework extends UidObj { final UidObj classGroup; final bool canAttach; - Homework({ + const Homework({ required super.uid, required this.subject, required this.subjectName, diff --git a/kreta_api/lib/src/model/institution.dart b/kreta_api/lib/src/model/institution.dart index 0900d94..7f48ec3 100644 --- a/kreta_api/lib/src/model/institution.dart +++ b/kreta_api/lib/src/model/institution.dart @@ -5,7 +5,7 @@ class Institution extends UidObj { final String shortName; final List systemModuleList; - Institution({ + const Institution({ required this.customizationSettings, required this.shortName, required this.systemModuleList, @@ -36,7 +36,7 @@ class CustomizationSettings { final bool isLessonsThemeVisible; final String nextServerDeployAsString; - CustomizationSettings({ + const CustomizationSettings({ required this.delayForNotifications, required this.isClassAverageVisible, required this.isLessonsThemeVisible, @@ -69,7 +69,11 @@ class SystemModule { final String type; final String? url; - SystemModule({required this.isActive, required this.type, required this.url}); + const SystemModule({ + required this.isActive, + required this.type, + required this.url, + }); factory SystemModule.fromJson(Map json) { return SystemModule( diff --git a/kreta_api/lib/src/model/notice_board.dart b/kreta_api/lib/src/model/notice_board.dart index 2537374..9882306 100644 --- a/kreta_api/lib/src/model/notice_board.dart +++ b/kreta_api/lib/src/model/notice_board.dart @@ -7,7 +7,7 @@ abstract class MessageItem extends UidObj { final String contentHTML; final String contentText; - MessageItem({ + const MessageItem({ required super.uid, required this.title, required this.author, @@ -25,7 +25,7 @@ class NoticeBoardItem extends MessageItem { @override DateTime get date => validFrom; - NoticeBoardItem({ + const NoticeBoardItem({ required super.uid, required super.title, required super.author, @@ -66,7 +66,7 @@ class InfoBoardItem extends MessageItem { final DateTime createdAt; final NameUidDesc type; - InfoBoardItem({ + const InfoBoardItem({ required super.uid, required super.title, required super.author, diff --git a/kreta_api/lib/src/model/omission.dart b/kreta_api/lib/src/model/omission.dart index b3ac732..fcc4d17 100644 --- a/kreta_api/lib/src/model/omission.dart +++ b/kreta_api/lib/src/model/omission.dart @@ -15,7 +15,7 @@ class Omission extends UidObj { final NameUidDesc? proofType; final UidObj? classGroup; - Omission({ + const Omission({ required super.uid, required this.subject, required this.c, @@ -71,7 +71,7 @@ class Class { final DateTime end; final int classNo; - Class({required this.start, required this.end, required this.classNo}); + const Class({required this.start, required this.end, required this.classNo}); factory Class.fromJson(Map json) { return Class( diff --git a/kreta_api/lib/src/model/student.dart b/kreta_api/lib/src/model/student.dart index 38c8bbb..e581eef 100644 --- a/kreta_api/lib/src/model/student.dart +++ b/kreta_api/lib/src/model/student.dart @@ -1,20 +1,19 @@ import 'package:intl/intl.dart'; +import 'generic.dart'; import 'guardian.dart'; import 'institution.dart'; -class Student { +class Student extends NameUid { final List addressDataList; final BankAccount bankAccount; final DateTime birthdate; final String? emailAddress; - final String name; final String? phoneNumber; final String schoolYearUID; - final String uid; final List guardianList; final String instituteCode; @@ -22,15 +21,15 @@ class Student { final Institution institution; - Student({ + const Student({ required this.addressDataList, required this.bankAccount, required this.birthdate, required this.emailAddress, - required this.name, + required super.name, required this.phoneNumber, required this.schoolYearUID, - required this.uid, + required super.uid, required this.guardianList, required this.instituteCode, required this.instituteName, @@ -86,7 +85,7 @@ class BankAccount { final String? ownerName; final int? ownerType; - BankAccount({ + const BankAccount({ required this.accountNumber, required this.isReadOnly, required this.ownerName, diff --git a/kreta_api/lib/src/model/subject.dart b/kreta_api/lib/src/model/subject.dart index dea12b9..d845e4f 100644 --- a/kreta_api/lib/src/model/subject.dart +++ b/kreta_api/lib/src/model/subject.dart @@ -5,7 +5,7 @@ class Subject extends NameUid { final int sortIndex; final String? teacherName; - Subject({ + const Subject({ required super.uid, required super.name, required this.category, diff --git a/kreta_api/lib/src/model/test.dart b/kreta_api/lib/src/model/test.dart index f8319a4..00b3198 100644 --- a/kreta_api/lib/src/model/test.dart +++ b/kreta_api/lib/src/model/test.dart @@ -13,7 +13,7 @@ class Test extends UidObj { final NameUidDesc method; final UidObj classGroup; - Test({ + const Test({ required super.uid, required this.date, required this.reportDate, diff --git a/kreta_api/lib/src/model/timetable.dart b/kreta_api/lib/src/model/timetable.dart index 6d4debe..c5ba5db 100644 --- a/kreta_api/lib/src/model/timetable.dart +++ b/kreta_api/lib/src/model/timetable.dart @@ -31,7 +31,7 @@ class Lesson extends NameUid { final DateTime createdAt; final DateTime lastModifiedAt; - Lesson({ + const Lesson({ required super.uid, required this.date, required this.start,