ref: const constructors

This commit is contained in:
checkedear
2026-06-04 11:56:23 +02:00
parent a61a41e677
commit 729c281f1e
13 changed files with 37 additions and 35 deletions

View File

@@ -30,7 +30,7 @@ class AllLessons {
final String teacherAvatarTypePath;
final dynamic taskGroupId;
AllLessons({
const AllLessons({
required this.schoolId,
required this.yearId,
this.classId,

View File

@@ -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,

View File

@@ -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<String, dynamic> 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<String, dynamic> json) {
return UidObj(uid: json['Uid']);

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -5,7 +5,7 @@ class Institution extends UidObj {
final String shortName;
final List<SystemModule> 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<String, dynamic> json) {
return SystemModule(

View File

@@ -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,

View File

@@ -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<String, dynamic> json) {
return Class(

View File

@@ -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<String> addressDataList;
final BankAccount bankAccount;
final DateTime birthdate;
final String? emailAddress;
final String name;
final String? phoneNumber;
final String schoolYearUID;
final String uid;
final List<Guardian> 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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,