From 1827830480c4528497416758c0cc223c453b5123 Mon Sep 17 00:00:00 2001 From: dabblingwithcode Date: Mon, 3 Nov 2025 09:25:40 +0100 Subject: [PATCH 01/13] fix schoolday event filter, implement mail service --- .../workflows/deployment-docker-staging.yml | 4 + .../lib/core/di/di_on_user_auth.dart | 54 +++--- .../domain/attendance_manager.dart | 21 +-- .../schoolday_event_filter_manager.dart | 115 +++++++----- .../domain/filters/pupils_filter_impl.dart | 171 +++++++++++------- .../docker-compose.staging.yaml | 3 + school_data_hub_server/lib/server.dart | 67 +++++-- 7 files changed, 274 insertions(+), 161 deletions(-) diff --git a/.github/workflows/deployment-docker-staging.yml b/.github/workflows/deployment-docker-staging.yml index 73cbd2f8..42d8667b 100644 --- a/.github/workflows/deployment-docker-staging.yml +++ b/.github/workflows/deployment-docker-staging.yml @@ -168,6 +168,10 @@ jobs: SERVERPOD_MAX_REQUEST_SIZE: ${{ secrets.SERVERPOD_STAGING_MAX_REQUEST_SIZE }} # The token used to connect with insights must be at least 20 chars SERVERPOD_SERVICE_SECRET: ${{ secrets.SERVERPOD_STAGING_SERVICE_SECRET }} + # Mail configuration for sending emails + SERVERPOD_MAIL_USERNAME: ${{ secrets.SERVERPOD_MAIL_USERNAME }} + SERVERPOD_MAIL_PASSWORD: ${{ secrets.SERVERPOD_MAIL_PASSWORD }} + SERVERPOD_MAIL_SMTP_HOST: ${{ secrets.SERVERPOD_MAIL_SMTP_HOST }} - name: cleanup run: rm -rf ~/.ssh diff --git a/school_data_hub_flutter/lib/core/di/di_on_user_auth.dart b/school_data_hub_flutter/lib/core/di/di_on_user_auth.dart index 7d998bd2..daf01338 100644 --- a/school_data_hub_flutter/lib/core/di/di_on_user_auth.dart +++ b/school_data_hub_flutter/lib/core/di/di_on_user_auth.dart @@ -144,29 +144,50 @@ class DiInitOnUserAuth { dependsOn: [PupilManager], ); + di.registerSingleton( + FiltersStateManagerImplementation(), + ); + di.registerSingletonWithDependencies( () => LearningSupportFilterManager(), dependsOn: [PupilManager, PupilFilterManager], ); + di.registerSingletonWithDependencies( + () => SchooldayEventManager(), + dependsOn: [SchoolCalendarManager, PupilManager], + ); + di.registerSingletonWithDependencies(() { _log.info('SchooldayEventFilterManager initializing'); return SchooldayEventFilterManager(); - }, dependsOn: [PupilManager, PupilFilterManager]); + }, dependsOn: [PupilManager, PupilFilterManager, SchooldayEventManager]); - di.registerSingletonWithDependencies( - () => PupilsFilterImplementation(di()), - dispose: (instance) => instance.dispose(), - dependsOn: [PupilManager, PupilFilterManager], + di.registerSingletonWithDependencies( + () => AttendanceManager(), + dependsOn: [PupilManager, SchoolCalendarManager], ); - di.registerSingleton( - FiltersStateManagerImplementation(), + di.registerSingletonWithDependencies( + () { + final attendancePupilFilterManager = AttendancePupilFilterManager(); + return attendancePupilFilterManager.init(); + }, + dispose: (instance) => instance.dispose(), + dependsOn: [AttendanceManager], ); - di.registerSingletonWithDependencies( - () => AttendanceManager(), - dependsOn: [SchoolCalendarManager, PupilsFilter], + di.registerSingletonWithDependencies( + () => PupilsFilterImplementation(di()), + dispose: (instance) => instance.dispose(), + dependsOn: [ + PupilManager, + PupilIdentityManager, + PupilFilterManager, + LearningSupportFilterManager, + SchooldayEventFilterManager, + AttendancePupilFilterManager, + ], ); di.registerSingletonAsync(() async { @@ -183,21 +204,8 @@ class DiInitOnUserAuth { return schoolListFilterManager; }, dependsOn: [PupilsFilter, SchoolListManager]); - di.registerSingletonWithDependencies( - () { - final attendancePupilFilterManager = AttendancePupilFilterManager(); - return attendancePupilFilterManager.init(); - }, - dispose: (instance) => instance.dispose(), - dependsOn: [AttendanceManager, PupilsFilter], - ); _log.info('Managers depending on authenticated session initialized'); - di.registerSingletonWithDependencies( - () => SchooldayEventManager(), - dependsOn: [SchoolCalendarManager, PupilsFilter], - ); - di.registerSingletonAsync(() async { _log.info('Registering UserManager'); final userManager = UserManager(); diff --git a/school_data_hub_flutter/lib/features/_attendance/domain/attendance_manager.dart b/school_data_hub_flutter/lib/features/_attendance/domain/attendance_manager.dart index 5d87cfd0..0bef9c80 100644 --- a/school_data_hub_flutter/lib/features/_attendance/domain/attendance_manager.dart +++ b/school_data_hub_flutter/lib/features/_attendance/domain/attendance_manager.dart @@ -15,20 +15,17 @@ import 'package:school_data_hub_flutter/features/school_calendar/domain/school_c import 'package:watch_it/watch_it.dart'; class AttendanceManager with ChangeNotifier { - final _pupilManager = di(); - - final _schoolCalendarManager = di(); - - final _notificationService = di(); - - final _sessionManager = di(); + // Lazy getters to avoid accessing dependencies during construction + PupilManager get _pupilManager => di(); + SchoolCalendarManager get _schoolCalendarManager => + di(); + NotificationService get _notificationService => di(); + HubSessionManager get _sessionManager => di(); + Client get _client => di(); final _log = Logger('AttendanceManager'); - final _attendanceApiService = AttendanceApiService(); - final _client = di(); - StreamSubscription? _missedSchooldaySubscription; final ValueNotifier> _missedSchooldays = ValueNotifier( @@ -232,8 +229,8 @@ class AttendanceManager with ChangeNotifier { //- CRUD operantions void fetchAllPupilMissedSchooldayes() async { - final fetchedMissedSchooldayes = - await _attendanceApiService.fetchAllMissedSchooldayes(); + final fetchedMissedSchooldayes = await _attendanceApiService + .fetchAllMissedSchooldayes(); if (fetchedMissedSchooldayes == null) return; _updateMissedSchooldayesInCollections(fetchedMissedSchooldayes); } diff --git a/school_data_hub_flutter/lib/features/_schoolday_events/domain/filters/schoolday_event_filter_manager.dart b/school_data_hub_flutter/lib/features/_schoolday_events/domain/filters/schoolday_event_filter_manager.dart index 75934a81..d5059868 100644 --- a/school_data_hub_flutter/lib/features/_schoolday_events/domain/filters/schoolday_event_filter_manager.dart +++ b/school_data_hub_flutter/lib/features/_schoolday_events/domain/filters/schoolday_event_filter_manager.dart @@ -2,26 +2,30 @@ import 'package:collection/collection.dart'; import 'package:flutter/foundation.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; import 'package:school_data_hub_flutter/common/domain/filters/filters_state_manager.dart'; -import 'package:school_data_hub_flutter/features/pupil/domain/filters/pupils_filter.dart'; import 'package:school_data_hub_flutter/features/_schoolday_events/domain/models/schoolday_event_enums.dart'; +import 'package:school_data_hub_flutter/features/_schoolday_events/domain/schoolday_event_manager.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/filters/pupils_filter.dart'; import 'package:watch_it/watch_it.dart'; -final _filtersStateManager = di(); - -final _pupilsFilter = di(); - typedef SchooldayEventFilterRecord = ({ SchooldayEventFilter filter, - bool value + bool value, }); class SchooldayEventFilterManager { + // Lazy getters to avoid circular dependency issues during initialization + FiltersStateManager get _filtersStateManager => di(); + PupilsFilter get _pupilsFilter => di(); + SchooldayEventManager get _schooldayEventManager => + di(); + final _schooldayEventsFilterState = ValueNotifier>( - initialSchooldayEventFilterValues); + initialSchooldayEventFilterValues, + ); ValueListenable> - get schooldayEventsFilterState => _schooldayEventsFilterState; + get schooldayEventsFilterState => _schooldayEventsFilterState; final _pupilIdsWithFilteredSchooldayEvents = ValueNotifier>({}); ValueListenable> get pupilIdsWithFilteredSchooldayEvents => @@ -29,14 +33,17 @@ class SchooldayEventFilterManager { SchooldayEventFilterManager(); - resetFilters() { + void resetFilters() { _schooldayEventsFilterState.value = {...initialSchooldayEventFilterValues}; _filtersStateManager.setFilterState( - filterState: FilterState.schooldayEvent, value: false); + filterState: FilterState.schooldayEvent, + value: false, + ); } - void setFilter( - {required List schooldayEventFilters}) { + void setFilter({ + required List schooldayEventFilters, + }) { for (SchooldayEventFilterRecord record in schooldayEventFilters) { _schooldayEventsFilterState.value = { ..._schooldayEventsFilterState.value, @@ -45,18 +52,25 @@ class SchooldayEventFilterManager { } final schooldayEventFiltesStateEqualsInitialValues = const MapEquality() - .equals(_schooldayEventsFilterState.value, - initialSchooldayEventFilterValues); + .equals( + _schooldayEventsFilterState.value, + initialSchooldayEventFilterValues, + ); _filtersStateManager.setFilterState( - filterState: FilterState.schooldayEvent, - value: !schooldayEventFiltesStateEqualsInitialValues); + filterState: FilterState.schooldayEvent, + value: !schooldayEventFiltesStateEqualsInitialValues, + ); + + // Filter the schoolday events and populate the pupil IDs set + filteredSchooldayEvents(_schooldayEventManager.schooldayEvents); _pupilsFilter.refreshs(); } List filteredSchooldayEvents( - List schooldayEvents) { + List schooldayEvents, + ) { List filteredSchooldayEvents = []; Set filteredPupilIds = {}; @@ -152,8 +166,9 @@ class SchooldayEventFilterManager { complementaryFilter = false; if (activeFilters[SchooldayEventFilter.violenceAgainstPupils]!) { - if (schooldayEvent.eventReason - .contains(SchooldayEventReason.violenceAgainstPupils.value)) { + if (schooldayEvent.eventReason.contains( + SchooldayEventReason.violenceAgainstPupils.value, + )) { isMatched = true; complementaryFilter = true; } else if (!complementaryFilter) { @@ -162,8 +177,9 @@ class SchooldayEventFilterManager { } if (activeFilters[SchooldayEventFilter.violenceAgainstAdults]!) { - if (schooldayEvent.eventReason - .contains(SchooldayEventReason.violenceAgainstTeachers.value)) { + if (schooldayEvent.eventReason.contains( + SchooldayEventReason.violenceAgainstTeachers.value, + )) { isMatched = true; complementaryFilter = true; } else if (!complementaryFilter) { @@ -171,8 +187,9 @@ class SchooldayEventFilterManager { } } if (activeFilters[SchooldayEventFilter.violenceAgainstThings]!) { - if (schooldayEvent.eventReason - .contains(SchooldayEventReason.violenceAgainstThings.value)) { + if (schooldayEvent.eventReason.contains( + SchooldayEventReason.violenceAgainstThings.value, + )) { isMatched = true; complementaryFilter = true; } else if (!complementaryFilter) { @@ -180,8 +197,9 @@ class SchooldayEventFilterManager { } } if (activeFilters[SchooldayEventFilter.insultOthers]!) { - if (schooldayEvent.eventReason - .contains(SchooldayEventReason.insultOthers.value)) { + if (schooldayEvent.eventReason.contains( + SchooldayEventReason.insultOthers.value, + )) { isMatched = true; complementaryFilter = true; } else if (!complementaryFilter) { @@ -189,8 +207,9 @@ class SchooldayEventFilterManager { } } if (activeFilters[SchooldayEventFilter.annoy]!) { - if (schooldayEvent.eventReason - .contains(SchooldayEventReason.annoyOthers.value)) { + if (schooldayEvent.eventReason.contains( + SchooldayEventReason.annoyOthers.value, + )) { isMatched = true; complementaryFilter = true; } else if (!complementaryFilter) { @@ -198,8 +217,9 @@ class SchooldayEventFilterManager { } } if (activeFilters[SchooldayEventFilter.dangerousBehaviour]!) { - if (schooldayEvent.eventReason - .contains(SchooldayEventReason.dangerousBehaviour.value)) { + if (schooldayEvent.eventReason.contains( + SchooldayEventReason.dangerousBehaviour.value, + )) { isMatched = true; complementaryFilter = true; } else if (!complementaryFilter) { @@ -207,8 +227,9 @@ class SchooldayEventFilterManager { } } if (activeFilters[SchooldayEventFilter.disturbLesson]!) { - if (schooldayEvent.eventReason - .contains(SchooldayEventReason.disturbLesson.value)) { + if (schooldayEvent.eventReason.contains( + SchooldayEventReason.disturbLesson.value, + )) { isMatched = true; complementaryFilter = true; } else if (!complementaryFilter) { @@ -216,8 +237,9 @@ class SchooldayEventFilterManager { } } if (activeFilters[SchooldayEventFilter.ignoreInstructions]!) { - if (schooldayEvent.eventReason - .contains(SchooldayEventReason.ignoreInstructions.value)) { + if (schooldayEvent.eventReason.contains( + SchooldayEventReason.ignoreInstructions.value, + )) { isMatched = true; complementaryFilter = true; } else if (!complementaryFilter) { @@ -225,8 +247,9 @@ class SchooldayEventFilterManager { } } if (activeFilters[SchooldayEventFilter.learningDevelopmentInfo]!) { - if (schooldayEvent.eventReason - .contains(SchooldayEventReason.learningDevelopmentInfo.value)) { + if (schooldayEvent.eventReason.contains( + SchooldayEventReason.learningDevelopmentInfo.value, + )) { isMatched = true; complementaryFilter = true; } else if (!complementaryFilter) { @@ -234,8 +257,9 @@ class SchooldayEventFilterManager { } } if (activeFilters[SchooldayEventFilter.learningSupportInfo]!) { - if (schooldayEvent.eventReason - .contains(SchooldayEventReason.learningSupportInfo.value)) { + if (schooldayEvent.eventReason.contains( + SchooldayEventReason.learningSupportInfo.value, + )) { isMatched = true; complementaryFilter = true; } else if (!complementaryFilter) { @@ -243,8 +267,9 @@ class SchooldayEventFilterManager { } } if (activeFilters[SchooldayEventFilter.admonitionInfo]!) { - if (schooldayEvent.eventReason - .contains(SchooldayEventReason.admonitionInfo.value)) { + if (schooldayEvent.eventReason.contains( + SchooldayEventReason.admonitionInfo.value, + )) { isMatched = true; complementaryFilter = true; } else if (!complementaryFilter) { @@ -252,8 +277,9 @@ class SchooldayEventFilterManager { } } if (activeFilters[SchooldayEventFilter.other]!) { - if (schooldayEvent.eventReason - .contains(SchooldayEventReason.other.value)) { + if (schooldayEvent.eventReason.contains( + SchooldayEventReason.other.value, + )) { isMatched = true; complementaryFilter = true; } else if (!complementaryFilter) { @@ -271,11 +297,14 @@ class SchooldayEventFilterManager { if (filterIsActive) { _filtersStateManager.setFilterState( - filterState: FilterState.schooldayEvent, value: true); + filterState: FilterState.schooldayEvent, + value: true, + ); } // sort schooldayEvents, latest first filteredSchooldayEvents.sort( - (a, b) => b.schoolday!.schoolday.compareTo(a.schoolday!.schoolday)); + (a, b) => b.schoolday!.schoolday.compareTo(a.schoolday!.schoolday), + ); _pupilIdsWithFilteredSchooldayEvents.value = filteredPupilIds; return filteredSchooldayEvents; } diff --git a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupils_filter_impl.dart b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupils_filter_impl.dart index 8380fd69..f7ad1aca 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupils_filter_impl.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupils_filter_impl.dart @@ -19,17 +19,20 @@ import 'package:school_data_hub_flutter/features/pupil/domain/pupil_identity_man import 'package:school_data_hub_flutter/features/pupil/domain/pupil_manager.dart'; import 'package:watch_it/watch_it.dart'; -final _pupilIdentityManager = di(); -final _learningSupportFilterManager = di(); - -final _schooldayEventFilterManager = di(); -final _pupilFilterManager = di(); -final _attendancePupilFilterManager = di(); -final _filtersStateManager = di(); - final _log = Logger('PupilsFilterImplementation'); class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { + // Lazy getters to avoid accessing dependencies during construction + PupilIdentityManager get _pupilIdentityManager => di(); + LearningSupportFilterManager get _learningSupportFilterManager => + di(); + SchooldayEventFilterManager get _schooldayEventFilterManager => + di(); + PupilFilterManager get _pupilFilterManager => di(); + AttendancePupilFilterManager get _attendancePupilFilterManager => + di(); + FiltersStateManager get _filtersStateManager => di(); + PupilsFilterImplementation( PupilManager pupilsManager, // { @@ -102,12 +105,15 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { // reset the filtered pupils to all pupils _filteredPupils.value = _pupilsManager.allPupils; - _filteredPupilIds.value = - _pupilsManager.allPupils.map((e) => e.pupilId).toList(); + _filteredPupilIds.value = _pupilsManager.allPupils + .map((e) => e.pupilId) + .toList(); sortPupils(); _filtersStateManager.setFilterState( - filterState: FilterState.pupil, value: false); + filterState: FilterState.pupil, + value: false, + ); } // updates the filtered pupils with current filters @@ -120,15 +126,18 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { // checks if any not yet migrated filters are active - final bool specificFiltersOn = _pupilFilterManager - .pupilFilterState.value.values - .any((x) => x == true) || + final bool specificFiltersOn = + _pupilFilterManager.pupilFilterState.value.values.any( + (x) => x == true, + ) || _schooldayEventFilterManager.schooldayEventsFilterState.value.values .any((x) => x == true) || - _learningSupportFilterManager.supportLevelFilterState.value.values - .any((x) => x == true) || - _learningSupportFilterManager.supportAreaFilterState.value.values - .any((x) => x == true) || + _learningSupportFilterManager.supportLevelFilterState.value.values.any( + (x) => x == true, + ) || + _learningSupportFilterManager.supportAreaFilterState.value.values.any( + (x) => x == true, + ) || _filtersStateManager.getFilterState(FilterState.attendance); // If no filters are active, just sort @@ -146,20 +155,24 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { bool isAnyGroupFilterActive = groupFilters.any((filter) => filter.isActive); - bool isAnySchoolGradeFilterActive = - schoolGradeFilters.any((filter) => filter.isActive); + bool isAnySchoolGradeFilterActive = schoolGradeFilters.any( + (filter) => filter.isActive, + ); - bool isAnyGenderFilterActive = - genderFilters.any((filter) => filter.isActive); + bool isAnyGenderFilterActive = genderFilters.any( + (filter) => filter.isActive, + ); bool isTextFilterActive = _textFilter.isActive; for (final pupil in allPupils) { // matches if no group filter is active or if the group matches the pupil's group - bool isMatchedByGroupFilter = !isAnyGroupFilterActive || - groupFilters - .any((filter) => filter.isActive && filter.matches(pupil)); + bool isMatchedByGroupFilter = + !isAnyGroupFilterActive || + groupFilters.any( + (filter) => filter.isActive && filter.matches(pupil), + ); // if the pupil is not matched by any group filter, skip it @@ -169,9 +182,11 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { } // matches if no school grade filter is active or if the school grade matches the pupil's grade - bool isMatchedBySchoolGradeFilter = !isAnySchoolGradeFilterActive || - schoolGradeFilters - .any((filter) => filter.isActive && filter.matches(pupil)); + bool isMatchedBySchoolGradeFilter = + !isAnySchoolGradeFilterActive || + schoolGradeFilters.any( + (filter) => filter.isActive && filter.matches(pupil), + ); // if the pupil is not matched by any school grade filter, skip itl @@ -180,9 +195,11 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { continue; } - bool isMatchedByGenderFilter = !isAnyGenderFilterActive || - genderFilters - .any((filter) => filter.isActive && filter.matches(pupil)); + bool isMatchedByGenderFilter = + !isAnyGenderFilterActive || + genderFilters.any( + (filter) => filter.isActive && filter.matches(pupil), + ); if (!isMatchedByGenderFilter) { if (filtersOn == false) filtersOn = true; @@ -198,8 +215,9 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { // if attendance filters are on, pass the pupil through the attendance filters if (di().getFilterState(FilterState.attendance)) { - if (!_attendancePupilFilterManager - .isMatchedByAttendanceFilters(pupil)) { + if (!_attendancePupilFilterManager.isMatchedByAttendanceFilters( + pupil, + )) { if (filtersOn == false) filtersOn = true; continue; } @@ -207,8 +225,9 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { // schoolday event filters - if (di() - .getFilterState(FilterState.schooldayEvent)) { + if (di().getFilterState( + FilterState.schooldayEvent, + )) { if (!di() .pupilIdsWithFilteredSchooldayEvents .value @@ -231,8 +250,9 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { // support level filters if (di().supportLevelFiltersActive) { - if (!di() - .matchSupportLevelFilters(pupil)) { + if (!di().matchSupportLevelFilters( + pupil, + )) { if (filtersOn == false) filtersOn = true; continue; } @@ -241,8 +261,9 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { // support area filters if (di().supportAreaFiltersActive) { - if (!di() - .matchSupportAreaFilters(pupil)) { + if (!di().matchSupportAreaFilters( + pupil, + )) { if (filtersOn == false) filtersOn = true; continue; } @@ -250,8 +271,8 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { // language support filters - if (_pupilFilterManager - .pupilFilterState.value[PupilFilter.migrationSupport]! && + if (_pupilFilterManager.pupilFilterState.value[PupilFilter + .migrationSupport]! && !PupilHelper.hasLanguageSupport(pupil.migrationSupportEnds)) { if (filtersOn == false) filtersOn = true; continue; @@ -293,38 +314,58 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { filteredPupils.sort((b, a) => a.creditEarned.compareTo(b.creditEarned)); case PupilSortMode.sortBySchooldayEvents: - filteredPupils.sort((a, b) => SchoolDayEventHelper.schooldayEventSum(b) - .compareTo(SchoolDayEventHelper.schooldayEventSum(a))); + filteredPupils.sort( + (a, b) => SchoolDayEventHelper.schooldayEventSum( + b, + ).compareTo(SchoolDayEventHelper.schooldayEventSum(a)), + ); case PupilSortMode.sortByLastSchooldayEvent: - filteredPupils.sort((a, b) => - SchoolDayEventHelper.getPupilLastSchooldayEventDate(b).compareTo( - SchoolDayEventHelper.getPupilLastSchooldayEventDate(a))); + filteredPupils.sort( + (a, b) => SchoolDayEventHelper.getPupilLastSchooldayEventDate( + b, + ).compareTo(SchoolDayEventHelper.getPupilLastSchooldayEventDate(a)), + ); case PupilSortMode.sortByLastNonProcessedSchooldayEvent: filteredPupils.sort( - SchoolDayEventHelper.comparePupilsByLastNonProcessedSchooldayEvent); + SchoolDayEventHelper.comparePupilsByLastNonProcessedSchooldayEvent, + ); case PupilSortMode.sortByMissedUnexcused: - filteredPupils.sort((a, b) => - AttendanceHelper.missedclassUnexcusedSum(b) - .compareTo(AttendanceHelper.missedclassUnexcusedSum(a))); + filteredPupils.sort( + (a, b) => AttendanceHelper.missedclassUnexcusedSum( + b, + ).compareTo(AttendanceHelper.missedclassUnexcusedSum(a)), + ); case PupilSortMode.sortByMissedExcused: - filteredPupils.sort((a, b) => AttendanceHelper.missedclassExcusedSum(b) - .compareTo(AttendanceHelper.missedclassExcusedSum(a))); + filteredPupils.sort( + (a, b) => AttendanceHelper.missedclassExcusedSum( + b, + ).compareTo(AttendanceHelper.missedclassExcusedSum(a)), + ); case PupilSortMode.sortByLate: - filteredPupils.sort((a, b) => AttendanceHelper.lateUnexcusedSum(b) - .compareTo(AttendanceHelper.lateUnexcusedSum(a))); + filteredPupils.sort( + (a, b) => AttendanceHelper.lateUnexcusedSum( + b, + ).compareTo(AttendanceHelper.lateUnexcusedSum(a)), + ); case PupilSortMode.sortByContacted: - filteredPupils.sort((a, b) => AttendanceHelper.contactedSum(b) - .compareTo(AttendanceHelper.contactedSum(a))); + filteredPupils.sort( + (a, b) => AttendanceHelper.contactedSum( + b, + ).compareTo(AttendanceHelper.contactedSum(a)), + ); case PupilSortMode.sortByGoneHome: - filteredPupils.sort((a, b) => AttendanceHelper.goneHomeSum(b) - .compareTo(AttendanceHelper.goneHomeSum(a))); + filteredPupils.sort( + (a, b) => AttendanceHelper.goneHomeSum( + b, + ).compareTo(AttendanceHelper.goneHomeSum(a)), + ); } _filteredPupils.value = filteredPupils; _filteredPupilIds.value = filteredPupils.map((e) => e.pupilId).toList(); @@ -334,8 +375,10 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { @override void setTextFilter(String? text, {bool refresh = true}) { if (text != null && text.isNotEmpty) { - di() - .setFilterState(filterState: FilterState.pupil, value: true); + di().setFilterState( + filterState: FilterState.pupil, + value: true, + ); } notifyListeners(); _textFilter.setFilterText(text ?? ''); @@ -346,7 +389,6 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { @override // List get groupFilters => PupilProxy.groupFilters; - @override List get schoolGradeFilters => PupilProxy.schoolGradeFilters; @@ -355,10 +397,9 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { @override void populateGroupFilters(List groupIds) { - final groupFilters = groupIds - .map((groupId) => GroupFilter(groupId)) - .toList() - ..sort((a, b) => a.name.compareTo(b.name)); + final groupFilters = + groupIds.map((groupId) => GroupFilter(groupId)).toList() + ..sort((a, b) => a.name.compareTo(b.name)); _groupFilters.clear(); _groupFilters.addAll(groupFilters); diff --git a/school_data_hub_server/docker-compose.staging.yaml b/school_data_hub_server/docker-compose.staging.yaml index c3c622d8..56cbc7f5 100644 --- a/school_data_hub_server/docker-compose.staging.yaml +++ b/school_data_hub_server/docker-compose.staging.yaml @@ -72,6 +72,9 @@ services: - SERVERPOD_WEB_SERVER_PORT - SERVERPOD_SERVICE_SECRET - SERVERPOD_MAX_REQUEST_SIZE + - SERVERPOD_MAIL_USERNAME + - SERVERPOD_MAIL_PASSWORD + - SERVERPOD_MAIL_SMTP_HOST command: [ "--mode", diff --git a/school_data_hub_server/lib/server.dart b/school_data_hub_server/lib/server.dart index 312d2c9d..2e594648 100644 --- a/school_data_hub_server/lib/server.dart +++ b/school_data_hub_server/lib/server.dart @@ -9,6 +9,7 @@ import 'package:school_data_hub_server/src/helpers/create_local_storage_director import 'package:school_data_hub_server/src/helpers/populate_test_environment.dart'; import 'package:school_data_hub_server/src/utils/local_storage.dart'; import 'package:school_data_hub_server/src/utils/logger/logrecord_formatter.dart'; +import 'package:school_data_hub_server/src/utils/mailer.dart'; import 'package:school_data_hub_server/src/web/routes/root.dart'; import 'package:serverpod/serverpod.dart'; import 'package:serverpod_auth_server/serverpod_auth_server.dart' as auth; @@ -101,6 +102,36 @@ void run(List args) async { var session = await pod.createSession(); + // Initialize MailerService from environment variables if available + final mailUsername = Platform.environment['SERVERPOD_MAIL_USERNAME']; + final mailPassword = Platform.environment['SERVERPOD_MAIL_PASSWORD']; + final mailSmtpHost = Platform.environment['SERVERPOD_MAIL_SMTP_HOST']; + + if (mailUsername != null && + mailPassword != null && + mailSmtpHost != null && + mailUsername.isNotEmpty && + mailPassword.isNotEmpty && + mailSmtpHost.isNotEmpty) { + try { + MailerService.instance.initialize( + username: mailUsername, + password: mailPassword, + smtpHost: mailSmtpHost, + smtpPort: 587, // Hardcoded as per requirements + fromName: 'Schuldaten Benachrichtigungen', + defaultRecipient: '', + ); + _logger.info( + 'MailerService initialized successfully from environment variables'); + } catch (e) { + _logger.severe('Failed to initialize MailerService: $e'); + } + } else { + _logger.warning( + 'Mail configuration not found in environment variables. Email functionality will not be available.'); + } + // Check if there are any users in the database. If not, we need to populate the test environment. final userCount = await auth.UserInfo.db.count(session); _logger.info('Current user count in database: $userCount'); @@ -132,22 +163,22 @@ void run(List args) async { ); // Send startup notification email - // try { - // MailerService.instance.initializeFromSession(session); - // final success = await MailerService.instance.sendNotification( - // recipient: '', - // subject: 'Server Started', - // message: 'School Data Hub Server has started successfully.\n\n' - // 'Timestamp: ${DateTime.now().toIso8601String()}\n' - // 'User count: $userCount', - // ); - - // if (success) { - // _logger.info('Startup notification email sent successfully'); - // } else { - // _logger.severe('Failed to send startup notification email'); - // } - // } catch (e) { - // _logger.severe('Error sending startup notification email: $e'); - // } + try { + MailerService.instance.initializeFromSession(session); + final success = await MailerService.instance.sendNotification( + recipient: '', + subject: 'Server Started', + message: 'School Data Hub Server has started successfully.\n\n' + 'Timestamp: ${DateTime.now().toIso8601String()}\n' + 'User count: $userCount', + ); + + if (success) { + _logger.info('Startup notification email sent successfully'); + } else { + _logger.severe('Failed to send startup notification email'); + } + } catch (e) { + _logger.severe('Error sending startup notification email: $e'); + } } From 45daf22a3f3618b64c675f745d55d1b2aa1da5d2 Mon Sep 17 00:00:00 2001 From: dabblingwithcode Date: Mon, 3 Nov 2025 09:28:41 +0100 Subject: [PATCH 02/13] Mail_ Don't initialize from session --- school_data_hub_server/lib/server.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/school_data_hub_server/lib/server.dart b/school_data_hub_server/lib/server.dart index 2e594648..507cd90f 100644 --- a/school_data_hub_server/lib/server.dart +++ b/school_data_hub_server/lib/server.dart @@ -164,7 +164,7 @@ void run(List args) async { // Send startup notification email try { - MailerService.instance.initializeFromSession(session); + // MailerService.instance.initializeFromSession(session); final success = await MailerService.instance.sendNotification( recipient: '', subject: 'Server Started', From 7542149411b196277688073275702067c3f6d2f5 Mon Sep 17 00:00:00 2001 From: dabblingwithcode Date: Mon, 3 Nov 2025 09:55:23 +0100 Subject: [PATCH 03/13] WIP: implementing mail notifications --- .../workflows/deployment-docker-staging.yml | 1 + .../lib/src/protocol/client.dart | 2 ++ .../data/schoolday_event_api_service.dart | 14 +++++++---- school_data_hub_server/lib/server.dart | 2 +- .../endpoints/schoolday_event_endpoint.dart | 24 ++++++++----------- .../lib/src/generated/endpoints.dart | 6 +++++ .../test_tools/serverpod_test_tools.dart | 2 ++ 7 files changed, 32 insertions(+), 19 deletions(-) diff --git a/.github/workflows/deployment-docker-staging.yml b/.github/workflows/deployment-docker-staging.yml index 42d8667b..72574dfb 100644 --- a/.github/workflows/deployment-docker-staging.yml +++ b/.github/workflows/deployment-docker-staging.yml @@ -172,6 +172,7 @@ jobs: SERVERPOD_MAIL_USERNAME: ${{ secrets.SERVERPOD_MAIL_USERNAME }} SERVERPOD_MAIL_PASSWORD: ${{ secrets.SERVERPOD_MAIL_PASSWORD }} SERVERPOD_MAIL_SMTP_HOST: ${{ secrets.SERVERPOD_MAIL_SMTP_HOST }} + SERVERPOD_MAIL_ADMIN: ${{ secrets.SERVERPOD_MAIL_ADMIN }} - name: cleanup run: rm -rf ~/.ssh diff --git a/school_data_hub_client/lib/src/protocol/client.dart b/school_data_hub_client/lib/src/protocol/client.dart index 5ec21515..eef9d988 100644 --- a/school_data_hub_client/lib/src/protocol/client.dart +++ b/school_data_hub_client/lib/src/protocol/client.dart @@ -1642,6 +1642,7 @@ class EndpointSchooldayEvent extends _i1.EndpointRef { required _i42.SchooldayEventType type, required String reason, required String createdBy, + required String tutor, }) => caller.callServerEndpoint<_i41.SchooldayEvent>( 'schooldayEvent', @@ -1652,6 +1653,7 @@ class EndpointSchooldayEvent extends _i1.EndpointRef { 'type': type, 'reason': reason, 'createdBy': createdBy, + 'tutor': tutor, }, ); diff --git a/school_data_hub_flutter/lib/features/_schoolday_events/data/schoolday_event_api_service.dart b/school_data_hub_flutter/lib/features/_schoolday_events/data/schoolday_event_api_service.dart index 613ae29e..ceb2ed47 100644 --- a/school_data_hub_flutter/lib/features/_schoolday_events/data/schoolday_event_api_service.dart +++ b/school_data_hub_flutter/lib/features/_schoolday_events/data/schoolday_event_api_service.dart @@ -7,6 +7,7 @@ import 'package:school_data_hub_flutter/app_utils/extensions.dart'; import 'package:school_data_hub_flutter/common/domain/models/nullable_records.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/core/session/hub_session_manager.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/pupil_manager.dart'; import 'package:watch_it/watch_it.dart'; final _client = di(); @@ -25,6 +26,8 @@ class SchooldayEventApiService { ) async { final userName = _hubSessionManager.userName!; _notificationService.apiRunning(true); + final pupil = di().getPupilByPupilId(pupilId); + final tutor = pupil?.groupTutor; try { final event = await _client.schooldayEvent.createSchooldayEvent( pupilId: pupilId, @@ -32,6 +35,7 @@ class SchooldayEventApiService { type: type, reason: reason, createdBy: userName, + tutor: tutor ?? '', ); _notificationService.apiRunning(false); @@ -98,10 +102,12 @@ class SchooldayEventApiService { eventReason: reason ?? schooldayEvent.eventReason, schooldayId: schooldayId ?? schooldayEvent.schooldayId, processed: processed ?? schooldayEvent.processed, - processedBy: - processedBy != null ? processedBy.value : schooldayEvent.processedBy, - processedAt: - processedAt != null ? processedAt.value : schooldayEvent.processedAt, + processedBy: processedBy != null + ? processedBy.value + : schooldayEvent.processedBy, + processedAt: processedAt != null + ? processedAt.value + : schooldayEvent.processedAt, ); try { diff --git a/school_data_hub_server/lib/server.dart b/school_data_hub_server/lib/server.dart index 507cd90f..871549cd 100644 --- a/school_data_hub_server/lib/server.dart +++ b/school_data_hub_server/lib/server.dart @@ -166,7 +166,7 @@ void run(List args) async { try { // MailerService.instance.initializeFromSession(session); final success = await MailerService.instance.sendNotification( - recipient: '', + recipient: Platform.environment['SERVERPOD_MAIL_ADMIN']!, subject: 'Server Started', message: 'School Data Hub Server has started successfully.\n\n' 'Timestamp: ${DateTime.now().toIso8601String()}\n' diff --git a/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart b/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart index 3ca43ece..d2772b78 100644 --- a/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart +++ b/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart @@ -23,9 +23,11 @@ class SchooldayEventEndpoint extends Endpoint { required int schooldayId, required SchooldayEventType type, required String reason, - required String createdBy}) async { + required String createdBy, + required String tutor}) async { final eventId = Uuid().v4(); - + final recipient = await User.db + .findFirstRow(session, where: (t) => t.userInfo.userName.equals(tutor)); final schooldayEvent = SchooldayEvent( eventId: eventId, pupilId: pupilId, @@ -51,19 +53,13 @@ class SchooldayEventEndpoint extends Endpoint { final pupil = await PupilData.db.findFirstRow(session, where: (t) => t.id.equals(eventWithSchoolday!.pupilId)); - MailerService.instance.initializeFromSession(session); - final success = await MailerService.instance.sendNotification( - recipient: session.passwords['schoolEmail'] ?? '', - subject: 'Neues Schulereignis', - message: 'Es wurde ein neues Schulereignis erstellt.\n\n' - 'Es ist das Schulereignis Nummer ${pupil?.schooldayEvents?.length}', - ); + // MailerService.instance.initializeFromSession(session); - if (success) { - _log.info('Startup notification email sent successfully'); - } else { - _log.severe('Failed to send startup notification email'); - } + final success = await MailerService.instance.sendNotification( + recipient: recipient?.userInfo?.email ?? '', + subject: 'Neues Schulereignis', + message: 'Es wurde ein neues Schulereignis erstellt.\n\n' + 'Es ist das Schulereignis Nummer ${pupil?.schooldayEvents?.length}'); } catch (e) { _log.severe('Error sending startup notification email: $e'); } diff --git a/school_data_hub_server/lib/src/generated/endpoints.dart b/school_data_hub_server/lib/src/generated/endpoints.dart index 089fb722..2c051535 100644 --- a/school_data_hub_server/lib/src/generated/endpoints.dart +++ b/school_data_hub_server/lib/src/generated/endpoints.dart @@ -3417,6 +3417,11 @@ class Endpoints extends _i1.EndpointDispatch { type: _i1.getType(), nullable: false, ), + 'tutor': _i1.ParameterDescription( + name: 'tutor', + type: _i1.getType(), + nullable: false, + ), }, call: ( _i1.Session session, @@ -3430,6 +3435,7 @@ class Endpoints extends _i1.EndpointDispatch { type: params['type'], reason: params['reason'], createdBy: params['createdBy'], + tutor: params['tutor'], ), ), 'updateSchooldayEvent': _i1.MethodConnector( diff --git a/school_data_hub_server/test/integration/test_tools/serverpod_test_tools.dart b/school_data_hub_server/test/integration/test_tools/serverpod_test_tools.dart index b5af17b0..997edb0f 100644 --- a/school_data_hub_server/test/integration/test_tools/serverpod_test_tools.dart +++ b/school_data_hub_server/test/integration/test_tools/serverpod_test_tools.dart @@ -4715,6 +4715,7 @@ class _SchooldayEventEndpoint { required _i43.SchooldayEventType type, required String reason, required String createdBy, + required String tutor, }) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4733,6 +4734,7 @@ class _SchooldayEventEndpoint { 'type': type, 'reason': reason, 'createdBy': createdBy, + 'tutor': tutor, }), serializationManager: _serializationManager, ); From f5b80bc534fb2d82420b03b9e8204a5a694e773c Mon Sep 17 00:00:00 2001 From: dabblingwithcode Date: Sun, 23 Nov 2025 14:24:50 +0100 Subject: [PATCH 04/13] gitignore, new launcher icons --- school_data_hub_flutter/.gitignore | 4 ++++ .../drawable-hdpi/ic_launcher_foreground.png | Bin 14480 -> 14150 bytes .../drawable-mdpi/ic_launcher_foreground.png | Bin 8284 -> 8680 bytes .../drawable-xhdpi/ic_launcher_foreground.png | Bin 21671 -> 19962 bytes .../ic_launcher_foreground.png | Bin 37657 -> 32611 bytes .../ic_launcher_foreground.png | Bin 64333 -> 64202 bytes .../main/res/mipmap-hdpi/launcher_icon.png | Bin 4833 -> 5188 bytes .../main/res/mipmap-mdpi/launcher_icon.png | Bin 2781 -> 3082 bytes .../main/res/mipmap-xhdpi/launcher_icon.png | Bin 7118 -> 7619 bytes .../main/res/mipmap-xxhdpi/launcher_icon.png | Bin 12484 -> 12508 bytes .../main/res/mipmap-xxxhdpi/launcher_icon.png | Bin 18376 -> 17317 bytes school_data_hub_flutter/assets/foreground.png | Bin 38125 -> 30395 bytes .../assets/foreground_windows.png | Bin 78736 -> 39389 bytes .../assets/schuldaten_hub_logo.png | Bin 71888 -> 55129 bytes .../Icon-App-1024x1024@1x.png | Bin 156511 -> 167454 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 615 -> 740 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 1516 -> 1844 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 2636 -> 3168 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 978 -> 1235 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 2547 -> 3020 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 4528 -> 5215 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 1516 -> 1844 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 3989 -> 4642 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 7155 -> 7934 bytes .../AppIcon.appiconset/Icon-App-50x50@1x.png | Bin 2031 -> 2481 bytes .../AppIcon.appiconset/Icon-App-50x50@2x.png | Bin 5602 -> 6302 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 2507 -> 2918 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 6710 -> 7444 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 7155 -> 7934 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 12679 -> 13253 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 3389 -> 4073 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 9405 -> 10114 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 3706 -> 4318 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 10077 -> 10759 bytes .../Icon-App-83.5x83.5@2x.png | Bin 11425 -> 12016 bytes .../AppIcon.appiconset/app_icon_1024.png | Bin 217260 -> 223827 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 10595 -> 10675 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 656 -> 732 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 27381 -> 24794 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 1625 -> 1821 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 82914 -> 82763 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 4167 -> 4496 bytes school_data_hub_flutter/web/favicon.png | Bin 656 -> 732 bytes .../web/icons/Icon-192.png | Bin 18376 -> 17317 bytes .../web/icons/Icon-512.png | Bin 82914 -> 82763 bytes .../web/icons/Icon-maskable-192.png | Bin 18376 -> 17317 bytes .../web/icons/Icon-maskable-512.png | Bin 82914 -> 82763 bytes .../windows/runner/resources/app_icon.ico | Bin 3746 -> 3101 bytes school_data_hub_server/.gitignore | 3 +++ 49 files changed, 7 insertions(+) diff --git a/school_data_hub_flutter/.gitignore b/school_data_hub_flutter/.gitignore index c7db5674..b69e5706 100644 --- a/school_data_hub_flutter/.gitignore +++ b/school_data_hub_flutter/.gitignore @@ -23,7 +23,11 @@ # debug related files matrix-policy.json matrix-fetched-policy.json +updated-policy.json +rooms.json test_enc.dart +decrypt_files.dart +**/scripts/ # Flutter/Dart/Pub related **/doc/api/ diff --git a/school_data_hub_flutter/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/school_data_hub_flutter/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png index 19afb6bdc951a3a9c43b8fd886b6492f768364f2..fbd51bc733978fc0da408d88295109738122fabe 100644 GIT binary patch literal 14150 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 EKM+M{Y5)KL literal 14480 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 Z+*o}_rhl^V`{^_Uk`j{_tr0d1`VXsz5i0-y diff --git a/school_data_hub_flutter/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/school_data_hub_flutter/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png index e3697363e7194585a054188a4ca04e3fe982a02b..273a931bf1d05afe5cc465b1385d720b361e2346 100644 GIT binary patch literal 8680 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 diff --git a/school_data_hub_flutter/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/school_data_hub_flutter/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png index 75e0019a997f5d9127669eb057d56735e2ec5730..0dea2286830551ae4bd5bd31614f58833e4802a7 100644 GIT binary patch literal 19962 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 diff --git a/school_data_hub_flutter/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/school_data_hub_flutter/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png index f019c8ff7ec59f7fd6822ee9668879cdabd08e27..d1a6e8838a2a3949cb970997177d158c40ecd401 100644 GIT binary patch literal 32611 zcmb??V|S!o6YflG+fF9t#I|kQw(-R7IO#YO+sQ-|+cqb*ozwH4b^gIwtNTND?_IUa zRoA{dN=ZQy5e^UT+qZ9s(o$k7-@bhp`}c-{0)1n6DmnD+TOh5pn6R4H_wyWRKQ;Bo z;lN}$pCXEdnPM478D%h)6m|MC7?|I`3&GOVzs>^nm!-`v0_*EA^xZJUilqUCbC|!# zNg-egl0(_&e1TuwS6#uOa?=yQ%!7a@S3m77ptt2=*Avk7ivLNk+MqTEYj+MN{Naz*$mS>loR!#jK6hS~lpS*V0( zJW#k_1g7whwGzcMtNrJ6uj6|5dB9IJi4$V0H*|Z0WleQLkLz{_L-|-AWdlM!f4?=RirSM&on|V7 z{`Wfs8mZvO3~klY-`nNgxDKD2kYH4(ZKqaB{O*Yuj47%|v`u zlr)9#`@&*83?DRUWC)M2$x86g_0hHUSDk8&nD5|FMhj)iIP6X&A|fIbP7$r|(A3zz?^vDqq5YYB^ z*}-CdYZgnyk5^DopwY$1#DuKd>hPDHXkc(q+n2{d;7cL^iBegv;ZZy!JO*TO{lpQm z84J29jQ+Yh=7}s0c&6@aFfuYSI{{+&BXDHCAl|D^^sCM{#=}Wq#Kwl6t-)HjT?AP) z?$11}nS7A5)ZwCG8?L>>c&9~ad#Q{We%@ktek|!)tuddkwGXMA@gO~Ie!Z)>WjnwX|z&jjO3ZGTqKe4 zbW*A^|AyKio6e~11N-(yy6TGLDWT-}k8@NRfSfo8vz(*L=b;Zf2HSKdUs&P6awL(I z%X<$(qedsJ-Sud1rQY-qDNkP6q)wp}NLW3O$+O53EcuTmdWXlwtKpi}1Re-VV8BWWg;;ZtJ6Mtww3P!x|DkwN$aUBW zZZh4_uOJIYBVu~=NI_9?IE_Jff{-T%z4bv|J!0Wjeh2rTq5964(Ft3u=b`A*m?COx zYoi$#L#IDJJhuxBzdjFNF<;m^rGFamPebGefvlpgB(@0dl8U?k_Jc?Fagq}WSGtBy zK8wBAb2}hrw{;V$%fRupuH%^Pp@`-NnZqBwjT02GOMS(iopKj`x1-d~_^^o`%x=d@ z_oXy9*T#*Qy(5?}2h0|rl7LAj|ZV(U1pa_+{KJ_v#@lf!+SH{$@&nZ_e(LxhrZ0&zZC8Jgb zr7a_XuiV8>r)d12jZDFh6UE5bSTU8P)lAjD-HXaVI~#@cMNEH=kS9gs1HSC{8k7n}nO-?x9NC z*#BT@bhWs+c%{iYxwt<-vmZP7jU1$?s5rCPArB|j6mbA{qNnCh$1OYgR0p-ZEU~~)D;{OW(t$v=7 z(Qye&H+rqQZ%jS+N$U*c*Jm~QX-K=%O$v~j5Jdm#k9e81w%nve{I5?FyFdpAMuWFu z!RysRaav!C+_*H!bj>+SIu(#)mj7IUfmqa_Vg6XAc~CAF6d8lX&Trw(05VvL;@S=i06j^(x&3NwQ$b z|7wm6S79LyV7&lbp0Gb^Mv?D@B8^cSEN-aGfd?@j=Iea`ed*U4eZjPg5@H@iZWu^T z`B)s5y-ocNk7`!Wi3am=6m0AWrk-aoa3}<)--?u!lv?dJn1@q2F-4LIIy`<+pv?8x ztrUVN>fhe;je1iK@hCnVV-2-#oe+FHM+fE(FkEU zaB}}ku1um1KY{AM&(G};2!A55Sxo%lb?k|gh{NNa2+qzXc;A0muD6;cvlbeLdra;+ zV1|ZxKm+LkSU^*mQYdCn`|^#xN^96;u&~+h#bqLwAD@Zu%P$A5&6{V-_o^qs`|eOW z#FjFBgsNfN15_AD{-tMlv~&ctL6-X?g@&cHc*~nCHcO-}Y8D`~F<6O0W(e;ZcD? z#yw=cl&3K9g}vpLMgAvy8kTCCZ^=`dSb!Z0A(~!QZvaN z`Ca(C=#c2!24SD=^z|B#^u51s&bL$Re|-w3kJp@4V|a@#!j}YqT+r@gB$pa!@mIG? z$|F(CNw7<^c%R>XWd>P;!k#KQj?7l%5L_FDJ2QtoAQvB3@v#WxZhwN64z$W=t&nE( z1bcmi-$TDdk&EWvZ6aq9(5Fl7M2B8}W&bducaJ8Q#F`i~3%k#<`yGzGc&EY-k{Hx( zp|NBA?ALSKa^aMK$!s4zoFuI+@82XsPff*X$Jj7H8)iT9sUiX?AOs353g>BmOZI10 z74!uBPMi~`WSt4aXm}E4QqHfZzrxkTBPP-W6t-u7T9HBsjFHr~0_k$jWPJ<* z+;_Ouinrj%^l?5Zf#2E>KD08lL>lqrG0#c}97)o*Z1L?i&)j~igL>0Uws%aJ?C+Z$ z2{VVH4H^mpn9w*0fDdWyf*Vz|AqeWc`P~Is;a~85u)V~>NLOcYrR3LrGROl10~1uf zS&VMk;9Hs`PPF#~*Fl(q&@GF)^M-E;w-P^#0k;UnnP&SZ?^miQH^gvcb~R(Ww5O>g zbC5e~@!V$nyV+(&j3y|uN4p|WwaLtDY7sIXXYr zY>6%I2tOX_>BxB*JZ`iEY_Zn{>e=whEU_{_8!Q8Zwwy5MpZZRX@Jz4}QxfI!FT@Q~ z7RXgp;Q?`AGi8!&V)qVVk-Fr&%j_`5_E}^k^xu4#m{PD)$c|K?#-tEr=WhX+dEvjR zEfax>%6DCI@Z{5eFY$i9A-RBR_xDJJVRA?o9xAE~5$8){Z?vCFJFZ~adCe-?xvupJ zrMfcmp(5CC6jnkrcQe7c5nsXC2L>J6omtRe$$Ec{NpakxPsujG90LWW3tSpR)gg6iBKx4@Ab$0b9htRv;MNp~ew5aFWb<;?V z1hUcqbD2Gj4<9!Uryv`GJg^yJ(3fV4N$5wE?rbWbHpGh(7Tct|{5(FCmRIEwp^w*_ z4eAy(ntjpl-Uvox1rI0%2L9MkN2J};UW^yp&Yi$CJeag-K}U?=Y$8g z#IKYS^^f9+7{2g)Fis53v8pz)F$E&Sl0HRWvPCm~O15ZpOlBn%MfA05Xx!4RogCM< zHyT?_Yw(C~4`V%a!4~G?l+k4`dMUZc)je3ffH>xzm)T<%LqUS)YwYZ2x7r`dW^J%t ziGIYBXSWL%_)dI8l#%!2tl%2aq>=&Cf=}5^b3p#e&YM@FWGeY2dNwxnuUtXmtFEWq zCYs-vO_YXtq{4p7hv@JSOLt5S9dehH$~JQy+(YykAv;5HP8=6-GL7&jdD7pS4OGzE ze$R~7w%_pEe08L^rvD=Fu`#$4lASt1cn*Usv|dkZ+wYg2W5E&wP)qvB6+UA`nEhJF_E(GKEeN2Iv8*>k`1WXgtrT&5hizuWA ze+wA}Pbs<0=Ntmygp+){Q>I|2^^PygqKUrXEMN)Q8dvWJhzl~@W3XUZVv`i_AoTIJ z^bzLqfjKfc4)}MjXVWNt+mv!sSVcMk!h@SX zo7WJM85QqE7d9f4lMKa7v|#On&&}i)+HWdcf4P^_pg74?0t(M9; zpt@M0@So^^F1rPU<|a%ZzeKusd!{-23R7%Fg#9`z%?rT0`}%Nv?OxQGhDo{(_*}J| z+r|>B$31{d&sFYa5bh_bSn8pfH2aDay8k+&2@T^EKNYXpt=M8CeUd)iy*P@C?qfC6 zmlN$MyM(bK4B0#IQ!N~6#%=HU!0k%SxtkiOhE&cBzt3nlrIO3Y|BZvUy*R({d8xP=?a}HX?hwE;b~l!f=+;ZF&`|R5 zB<}5udmo^F%x}x}*weDQL3jDz#`fiHsC_Gz*d9YhCU63rMz;G?C)J|i$Mc44I=%4M zcW|f6>`^_t%RjqoPYIQW8Ts9P);~FP1y?I8iKDMnPo(Wn@@UnAKDLZ2wFVSf@o3XIa)ZLN+DQ^zVr$^CG;uh-xwY zouAJPZw^^}{rKRKgJW)BCkOY>J+{OaCDqg+79ezY6 zj@xF^U-JALn9)SRCxM*9Roac$z0kxNJfUHq4h?@#y(!Bi5m+A+w!RBkVJ-r)$^vLQ zRq_v+qs>QfrxXz!2x75B*Lz#7QDoTQVxYNI3Cm5+<(EJM zZ^%5q+bA{WK8Vg={{~)lrI@}vOWxVEqi>$&^{P?dMAtbbytXyU%4kH*wZqssSM6u4 zl(bcX;nc_q11UK2fMjuyvtAwTg8ox^CwEkpS7ov5uw?$E=krpkZ^VAr!cBIoD&h%t zPnO{V;=q-14H=R5egjBcLPzS2#D#IefT5&* zLKIUqk?OCgw!QG`n_?}Z>co}1@gZC*3rGsixcoj%S=}p;>9|ECGkT~n20-zD!)jX_ zEfe{eYyci2#yb#Ncz+zyASN{hixW)@Hf|whdFBgD2XeWl&Xw@fZ&Ka;0%}7U#W!

sG>w#G^AkdNH1J#S20MkWv4p{>3)a5T;bsp163_((=%AS&#W;rInV#Uk6(vnQ32eo zK{2B)2xs`GhK(y?@(+iEjQSdVgpjkpw743p(u;NvoY`Q6Qvij*!v8_-7N;ACthd-x z?l(I)1OcJ4Cjz4Ecn=z05X~pEWJZe4C5}op)YS^AeD3DuIh6P9arAyjn3s?K`uzFywgDpr7$>JX-bl5)@@ zZyt&%(x+=H@MNyI|Elv&!FN04Zm|vJufxcmmLWI%3-{lHbB}2Kh$c!V7F7eL!D;yA zGz51#`-Ohqne?@O%n{y9=?lN)5Gh{$^pwfAB9anOBK1mfgMjX_nw11dL;MO77eTP) zR)Q%|s%m<4_v`r)-G!iyv)WBssR-}uOnCw^^5U)Bri>DGu6m*}&&?d-`VJ=@aIeCC zh@~WTTs$j;e;#u?hh{dMxyXBoSJ$QmU~`rfmJ5km09I<&R-8wFXkBy2GYD=3LFdDe z$YD@Beapcxt^Yt?6&~3e3GC=Rwjz{X&{RL+FfiCq>oz$L>SWUd_&(B#tp5y_s1#TC zhP2n$ByZv&fcJT^*}bS1w-DiJn8wM4FAA9~hbUEZor1Zfi7XwxWNsm+q!c&TJRc6J zwOqLE595R5_F?OCsDq`YqjeIvftYJ(Kp|KHlgHx}2QFD?0@?t=(flGUa1C5p*|H~7 z$EmRv20a;KfWf^>TV8JsIB}!FA1@<39+38u9?4ko=@L1ce@B-@Z%1Pwu5HdSF{pmT zk?(&$cYe)gw1@gVzN|r*3~Q-bGlQ+86`7w;!tqg`N$-=ms>#+i7{a5lGu=jn=uz)f zCC!yrQ%8cls;#N~7c=%x5Q^`1^t^knDm~sZa8dT$Ulh9$*~LaC?z*<30WLjIS_m{$ zg7r`Zt0-%*#qgBJdnO`B!^1h7KS8D(rDpL|iImQ_^C>w=3U4^tKqqWCtTu>OQ0-5> z-_I+iVKoYtr7_Vm<1UNOkgB3J3kaz6s9IaYj-6!ra$7`2UPe1pKBhbA6KINH;VSOX z99*WIC1a=1u>5Vk8&QxF?-1r!ItJ2J`yDZ;Pk3b3qWQo%eTaZ1q5@-6^et=N^zeyz zolb(__TxiFW>tv}Oe&hS>RpQ0;rD(&oK0RFcCsomp8pZe>rzm8!DN(sYvZxF5$Wdv1h0UaS>blSfb-Jt@a7Lwv@^YN~#v*>#g|ZQxq5X9etF z(s1Avv9;6QjyoCeOQQ`qz#t%t2dK0(tt5{RX{3N5ZEYF2^;ykAnmH>Sr4Z+iq z(b{rIPAe;DLC)3lM+~sSVY?&+j)he+)E+xAAy=i}v9v*&9m^5lf~DE+$#xk=AGE=w zX-g}uPct$;cw<`6p@p6;Lp@Kq!GXktL#xj105?t6P;$^VkLL zwo~rGf+R7ACIb-2nXS?UaJV0D+ANqq@emUiuO@X(S0jiQTciD1v9`VI?!QlK^LhC9 zF9|t6y0^9_!0Q#_k%%kQlp_3w8Z9vyNbMe@CM{ehQL|k*TU6KpHk>e&WHn^`HywVq zz}3_3VuJ|OxrjwP>d&@15;xf{;|aS7hK51Og4s~-W9mY*!+J{B6E1!V=qz9L63oud zzRMv+MMdrMc$$(TBQ2h@wJBpD{zqpG`Ru-=^BjmCo5sIRzORzR-aI}2dDSoQ%N%@c z_o67Qc8C~g5fJr$r@ic7JxS|>v{ZId_+vu_<%bNPoHCiG-`C*Er#z5zKk)0*)9?0X z_#Z&q)AdRl@bVYi7Wt^;(Czol>Zf#|;^NuETlP_ocH7Iy{4N*R`R)iOBkjm=u`G6C zQg-MHct@Sjro}sIdgR=kirQ%{G(_i6b5l!8x@L0{W0vh3LP{FO-a-9;Nx0WH@F_Y7 zy9_+0@6R31Z;6-3EA4a+r!!CjIvtKT7SV{I**s=DTnC2_ypP@WEK)FC#{ynSpRvJw zIA-``o+;>g;d#WLaHeVU;_JftfPljWH6PiW!unfoTG_E(?7f7@pVf7qm(y(xcYcV( zjzM=wc}2%F3}9fb7-EnH?g^3%agSxwd4j~MprK}`m+EY^VyxT$tqz2m-a%*P`m6x# znE0RZtt-im`OdYjV*5_;!vp>p#|PYHSIG?!e}LOAGYq%rcQ}9g!QI}%mo2K@@$QKH zZgG<5B3)kDr)lVHf+_!Dm+nmKfsF+TQE2-`n&C9PiNkAw@!QQRMxwwYL2VmGlQ$4} zZmmb0vFkU?gE*0h6CeUyb$^WS25byet~?Gr;oL2%iMd6I4ZWCIefa0k+GH>L9m>V8)?M*3HWtcQ<2^R#!l|ly)+HaE>ySYu$i3*aeS0e>DVqjwJ$hfe^pKr%i>vHZr zeKuy?xWQihrAQup%v9|Kp=ELKz{h_DBD{wBb2A&W_|Bsv6!Kd%l0N!eWa_^nT(E z!GS2DY$4DT+&$yv%iS%9!-TG+9d^5?@(lS_z#U~QA%W*Hp%)ec&wU61z-IZ{s-Idw zY{e9VbP#Z|Y)}@Q&gTBldcJf&VzILLFQnf07?L-q&v)-TXq`ax+s*#|WAtO=-Crj0 zIA=*+)1$LcsO;Kt8wNEc`n{v7&Qg(r(Oo^4g9XoQQVP-{8Xi**0&a190J;6DPOdoP zLcFMI31sel=>%4rG-AQdbh1Tot*&!hcH1SmkMP)m8PboL4oPgclLgpGvMiY&0!V+D zneRA9GSTQ`H_W&kHp~${}ie0B%DLX%! zU225%BbX5YKGKjCv~(yd6cF;{x@2(y7=Zz9Kju6Pn4fGI_pb3E1uW1#7Kf@K0o_$> z7?c5!=>Aa?uMcM|u1oavI&CxF$l0*Z>5rM9IXWB>Kl|p~l2g&J|s+)XbQc~>wf*HYPD>kT=_;X2KPg8Q7->HZE(d?x}&d+3Hh|Ud`+Daeo z;+`sFW?mxe@oGk|L4PAGrG@i~KoEc98P^~5-JiKlktq~{mwtCUaj9Q+>Nb)iX5VI% zE-w5HdYi(Rz}^271k$6v-PBqM7ErG}oQj|pVuh8zl+jiPXF zRerB+eQv?n&tk-Z19xTSDD8ZXdqy_W)%uaiJ4K)7ey%HC>TT$tV16RCms`4AE*<3s zGTLKLO1vKv+#w`?%K#IpW{JX=t zc`o^Q(Yv9DP0GQKsjbmbdUs zlk|Pl$=xE`*pm6<2LUiw3wVPs?KD%g65`%r>~NFYaeVp3fEW>+d1n5Uk`@D*mP28@ zc=nGzFq8!@jAC)hNc~p)2*DMHI2@Pn@$K%f3kv_Rk^phmA2J717L73-jWoA-RNM6W z(f=-g7O6$^c0o7$48-ScpLpFGhI4V_bdO!)oYdRydgNE6Tt>gMSzH?C09i>Pu?uuu zZI%#=5u_`&}C1 zqYr$y6!F_|B(_J+Kz%|$f3YE&l6nH>3?3OpEWEoDlOj4h{UN1& z|EI%7WN+(6$i;dKE}iHV3J9MVoH5BOm>^E1d*ZU$CAf+p4tUN4jVT}Hple2pX4~bd zl4$59rHs4?*CT~}wRh6@?lVmSF0=&M(UZ2UoUlDK?w$r8Hmwh;`h6o(P6X!T2Xz`o z`XNA958306Kq!Yphy~!nSyv6?lE9tU$D<3DL8nEm3_NR*-{(HjZYUO4tHBHwiI680 z#1o6y{~pln*vnm&Jo?1{9(cU!mHM;OVlYxilJ+BNVl{O*(c_wxNAV)!rzsEl`{5D{ ztYaujbRykJAmxiVMf6`9CdOo}FcYqbS?ZC5>F>mX#2}bI7`+JY_733uNC3jKcMguA ze?{|hOj&2cn=v^hnqEMw<0qhqg<+FuDzH?#f!YTzuQ`e;!&ao-UH2)m&QP-1D_xd7Uw;&lMQ4(lHvj9o}m7LM9b)GK5wvcY(>+fC3~$_ zb9j|GR%IO>Z~GT1+~GKs4tOYGPP_JmriMZcZCp(XS*{l1?Z6N2tO!ogs{(QsA2|#O zM7*Gy9A2J@h+uGNnST?JEnq(ylPcyed*;Lqy{M?D7O@F19YvwVw>C-M(jVt1^;d`= zj?rvCp|yoPpx1!?6f3^P(_Q=@@V{0-36=#dioO@~%^KFKeWl7^sS0R*W0z|3HF8zi`ilFG=Yk9{387QA7`6E!I9h`04~>1z7xU=XMA<$q2~L0U)D6vn4H}#W!uU`OYc(jdio`s3 z^#<1?wEBRT^y4M}Z@JHR`#3ALoIGw;2^tJ!1h=BS%NZB#N4fo#wcS4Q1e!Gmujnca zVuY)K(g?O3oF@jdRNL)uX5ZyF@+x6XwLMtoo($3^T2F`|B*O~_>yTiqutKPEfW3lz zFnHD2GL12b{yd1qkmfWpW8xlqv@Qykg@tuhk8fGw%iWom4&-A)*Eqsv9(LQGHzUeL zZ7-w#(Grz5_&WjJ#~C;iFUvhMUA~@fXKR@HBVNiypaer6QYblP$S(J_|0CGj+k2$b zN1b+4TwWzxz#s4C=0-|Ns*Z9v@rY*9)UfiaXzu8Vesh9=VT%a#09aCsT^BSmQPs&} zWqQ*d0cSBn<#e;vY+no02ux=z^)%LK0oB#2>hR6*&AwDeQmAX`^sdte>@UMfF=OK> zfJNPqeuZRv&fWEyTk_vN_ST?otHN5sE;>7qZc z?h=7B&Abb>uto2A4V8l_%R% zeGEaOjd+zWUEF71SK&>`FmH9v=)EZ-wsn)yI$FW5dIVm}4`C_@ zmQ^T7%zEJCVm*kzcBTkNawP#4uFD=x@2zxKKl`1)4X8k9 zsc8rc!Y#jj=fD#kD6D=SSiMe&YsnWZDY1Xtb`J}#Jw$s8W9NG#K z?)pvAfT{V-bA*GqN{f9JcBDO?K7KhGdA`d_??m??lfAW9&SwgdxP~!+FnFW7IeyB~ z<-3LFAUPyJIrPZ-_fGZ(H}b8RpXQ&7*vx}zWDTM(o>cZ%kY-#-N zI8*xGli*$=5EwQWeFi%><0U=6W+TBP0znvYxHcpkMf6h1NXOXsGEePHdPC9u766+i z*(6k|z<)FID+*_!7FwspDhg|oeCOy$RTJ8WW~lf3vX`FGN`YK(SH$PRUqo)j)cFaVp5&zB&L=5b)OS2IQvG}Qb$3I(q4!SO@gvWpVYIyxMA zxA7nz{79m#&>mR;%Qc5Ix6kq+T3MR0JN8Z9%`G8;$&-Q8NV+_9cOKuu=+4JDO`7x1> z(0O4b%*tDb6j^5s@<(m|6WAyr5h|Eiu$Ze@4P?1`J8*qPg-8^&F>MvS_An{_HMH7<6+Y=D?I=)VYL z)9K6qxN@D~xcOr8D_(aZad02aDoTIWbDdVwCg!HmYrof%Kfj|3x}AEkg(DCLvyeOX zPi}S;XnU!Og>u$EVuXK+$*LZ3z3%I2JAAqTbFLf}toQG8PeU>a2!=&Yu?F>Wgu5`r z!o}*p-GYg11GsJ{kPJ}c17RICJ`X7bv80J&cg5(4e(iooGkA#!{P@i4x(Z6D82kKE zkiCjaL^_ERIwt)7{bchp+Faj#u;F!C9~(_?{c>%o<@ehK_H zFr_*4xzf)oZ$}H((FtIZToP>ORYbqsVe{MAN4M)Gf7rX*NL;whpa+L?lJ|X(wXVBP zHg`Mnw*L+JBQgD-+5Hz99@SWj;u3ut_DPf&0%n zIbk<30xEgD1oNk@D5bY(`&rl4#UY;iP*m8tXJYH%U${xOIIHIiG_1*^3si$aBA1Z} z`m9K+xNR1&vlwb^aDIBu0Zbgdw4}K!cbFQVCzMrR0mQyMljw_4Yda6%s*(;q%5(7b z1>H!)NQch1`{C|wWvRx;E6y-acSB9F-g(De*ZkDiW zx{rSNIo~#s3S)Aq%Frsr>RmBwL1ar;?|(oqOf&`DO?r}S2Oy|6Cb3++NLF3+ow`!@ z5s;BSBGB}n85M*fcRtZ#7&;7a0zLNn!d#Wg)vc6ULJA=#|DzDg>ZB^Lm94hDC3l>W zF~5F%3<36`8}EMH0I35bdPO71{|sB86*q6rF4*G!qgW=hZWx9&q?jFnox!KA9i=)P zU(k69r$E3TTidf5$sd92>K}q!e8>^j4G2^UCEq#BegGf3A4`_ORBH1kp`e1AKb#z% zxIst3M~w;%#erDK%exWWT-dP1`bVBIIDx+z&zBGfEd({0%6XewF)yq=#<4fpf8F_5 zNub4XJ#K%Hvdq!WA>CQht>dKM2*OGyY$gshKO&v!ReZqceP9$v(1%@RZV!-w5@8e= z0bj0s8)55lThu{5E2NS>{X+?GAIzL=%zx&3l_bRC=#eR&5`oW1CbmnlU=$ zO-<4#jANkjx)BYPh@CN!li6PYkdh?~DOVjbJv=YRNy$2|B6ox^+>iySDG-5rpIV{6+H)&mzEp8{Y!HoLtpj=6@e`IhTA?7-I)y=oA@53y%qFfY z1nIC&?-EMU(J>U6AaWGFl#HA|2VjiHnv9Nux7Qgfx$^-_>~@G$OC1@y(#VCp^&@+Z zg}ds9hnSNU4mE}|hxM4-gkBwrWCFp!=cez?AhO_|jVMDF{-Q>udbAVc+S|1(Nh)1p z1`kG~#iXc>4t*i?fRU69ZC^jAG7n2e4F_w8p2US zf#jd*7NDG^Q2hw+{jItu!H!ReRAg5~?Sse&q@kL?EG{n+0zxPsJs9@X9cifw{Aoe& zYWmY>TA$XseyBW7Z4QxM`S)@RB7sjFZe!ZRsqCn_>wpY)4=%F4>>Qs&@ZuY?bUZxj zb606CeURJ#hH`n>YZAH33w#c2)6pF4*v~*Qd7Gjamr{bMs2FRnuz^}%J06=)h0=4K zX|5F-sR5)XaK8Kh2Vk+nu$agSIX{=9pr$Gcv}(=h$1rr9fe<{72aiO7on5SxV1gK% zGbNE6mb1|(?0)uUds>_jR8|b{1pvH`3oHS6xRLI*+k>sTo`ve-08}(n8(KoP#@hOd zBBcL1um}sKz(hq^T&F~03E1GIonc3$~lz> zq!E(ks8o9sgmuD8aD4-wA$0E)fB@2T`XGM`d4nL&Eq_Gvy`qA|@eB_(T+pMgqVD3j z9(HfIkfl@kzZ<{?#Y>em)cYeShYz!(FRBNO5V zX9~yx85ju@O%w=5fvUM8)Z7EAL+%y7B!4{1-n+mQnz|>5QVetllXWGoaW1Y!yC1de z1{?DCi#KH~!TmH-h#JWbK^AyN4j1#rNrwy%br#9sGmQ`MCmdr+B@28)I_J-b0DpOr zi{F(oXJE&xRyJilc-XhVd__|}jX;WJA6ZjKCfza!kRs-TYqXda(y)L_NCVSStE z{X>caDN)IZBXT>=`;w$Tc{+LfNEP$rAOv0h@g@AncR)+G%(nbb0xwe5SIyVNL`LMg z1K!_j;U5iT^ki7`hl3^)2l%+g8$sy9Nc#tXBCV%QtdwOHX?$4Dll=M9W=RREG>cYW z@S&fXAvvl-MuGwsUVS)nSzJV!G zDz#eO{Wn<9#7Jsc#^CiC%4jUMz0G)yenDN`$u>859X60+-w?M zU8gH>OJ%oPirW^)eoy?LdrHPEI%;^P)@oaorTF6{ZZPTO)u}^}mjR&Y31D_A@KsjTPbK$jx;I zhSL*yV5roE^<+p}>k%krB)cT*$+vi3 zp;(@PrH!URo+yOe@4Yy@4hT?`rKGMSG!xy{U?N~SSzNtDpqw26szBQzJ2)nHqcRKn zc01kpQ6j^@@rE*CDMi$l7W~SwI^#D|Gb9CZ6FYV`wjA^)ISY3?KRoJrAfB?vCqg`^ zdKZaPJ0I*QoNxFe{7qd{DsQIJDH1Y}WOL0}N+IQA#p{<)?3+2KH#0LgQj!7d6a8=Z z$ktQCx?^^2EhJ_TvTU)Pl$Tu9isMxEj${b)Ng8ylRuZX5Y@IV@(M1go`|eI1|FYWy zLniSCOxO0~bMKA7s|%Q@$i6t$Qq!>%YaDKNaN`1DeR&m|(9(3yJry?Yf+{SI*wC1m z80X_1gZHQXFQd1b4`wsh1J)s@WEMYp)F?F&qDa6N@ishUGP9#RGB#qOvx8w)LQVQ- zdicl1IZUcbR7Eu1$aWXzS(@A$Mh7+od=|0S#fY^ z-K`E=k+Gf|z0mUUv5=9W2Jo;Aqmzq>faBhbI=w!lW(zoDeED42hlYj~1gcS(m_Qp{ zC)!aANEi$GfuTVmImw(>{MiY>QDAkUPowVw9~2LxVd{xhrB*O{%kARwOlt_?6ry}E zTgw$xQJH748-Ou0FDB>bCo~rRR3Nt%v6W@RJGF7HKOjH?$j*-La|O0QP!^{k@A+fQJZ3G{QJt7OlK__CG$rm53iKv?+92`LR3-(0yhXJXZ5JnL|R1>jxto}iK zF}%I;A9R6XsQBPqWLmZO%u#A) z^PU<)j6r&Ye`)L&EOBDv4`n%Wp8q2qdGk_zN0Z`aiqiKwmI4_-PQJ?{&c{1 za?vOxLVE|%SLXg&_Kx)hwS;-`VXoEgUE8Yo4^Fm@en4hg>`P3#iIxVf$baD3Hgg`3 zlk#y^WwrePf8LwPC!o{iJMIB7Ux@7AMI~D~uW<`E#6WfP3YX|{;o)>eXqW`$NGI*c z(BoH}KL^ydbSaQOcRHyZ4{@VpzcSNy!y}E(lyTDEBJwjeW{>TLuJ8yd5wnVPip8Xz zzf(hdeucW{1x7D4Ay6QW^;OGan}V)qp5I=YW!Y!ZXRH?5TyDTT9AAjG9X4WJv6Sjw3KbI;cIA}551B&I2Nk|9Xj3PW|cL)>>8P}HTjGAHH8Qf(vRTV zes7pdpLDqO%HV)30UUVj$=>VU^6Psi`l`B`3b4`y?7BPM2-8wH=gwyg8CjW`ig0JW z87;WpjK*1RE0Z@>)_PPJsbULYbuC%nA_-cd?Y=|-B#%7DR=^9(`|dQc>rmz|QzDTi zV|N?Mv$j9shB399XN@k}0nz!qU0DCjL zkge`0#xTkoiI|9+zEbax@#KCUjuyWsDx&e1*f&*X;gDPk>sZIDBPLVx$8Vi4_qDt0 z#_sKD?86S{Jww_yQO+Xa=y7oB=GfOa&{wQ;pIDihxFb_zCRwIXd(cB<43wx2=dcWX z0T|G?NPB(lCU&pZ=s?0Uh~>;#TqflhR@_B(|WPG4IyjQMGR-!<|SQFrD5@zi>c|;dzMr^ zb}!#AiHIU&x4>b zn~TW|C~vS;qwUgzVkIk|CIT`I>$r*5ZZ#>wpZYm#oRDoDCYVhdpRVoC{VLi^~}z{5Fp-@G$^D2O8tbLJB+aB2O*t z)$4`Sh(kes2wO2~S6^e^9|d;)y2ExYeREN3SeU@mj|^nmIfP`u0dDh|&{aq~5^}n{O2DW#LYStR3{fGQZAEVPlo|P}B zrxg1Ixzt$KAPt-3OuqFXsXQBNRjq_5(e|U%e_~vSpt*-?3ZCIwMnSBv5BE=tY0$+r z3poP0WAczU38lKlZ3o`pIN$rgDDmWSb?;IR~rl zMx@kzI+?1KxH*-I<$Z7Pg7_g9saP4()JgD&RtfWnR=!;DHwf#uRb?#-tliE%SvgA5JY^>?ACQc_6;vvF(C`uRgr_i!g zv8Zb<)EakC9E<<}PF=CMZyBx{BEBZkq^-(TD)tF!-A~+U zWo`Csy2R=HSAkb76^>NcE#y@8IKd;iwnN>S*vjvqVof+$>Lr5D&8b^J=A7mGG*ySrz#Jw$iU`w4j$ z0IDb_I1o+y#5Aj5luV1l4>4GtX$b7*Q zD0lCnDq;A0l89hG?XS|%+YbM1F}Vcdme9w9bfg*`g8tgL8%3SFGI8LMqtGhpC68JI z0YK5m-)3nyv?_?O#0Yphraj-*31RZE-%tLLVe#8SiqMVx(*N8u5*Aex-m)e=6UXn|AhIISs*gIvKaQiWb_|xtGyYks1;;t z6W(O^gGCR%#2r(mZblOsR9`5U@jZf=&)*#rRa0IS%vqxF^ojGR`CZF>v=i9bAZh{Hxe?X8J|`MW0)DOoQ?UZ&gAXMz0b`a?(i{z6 zdGP~1&CrYvn^d>O3Uzi@SpdoCPNTAFuZbum`K?(2ejwy~oM3Ng1t;OfAbuczvQ3O^ zhJ>fb$Cs0fqrgN-)I+S--m!3%eojQJq+?KP>EHDW{M_(3!`fc9cDg#_BWDHGgYlr~ zoukPAQ`cDr#L+bEI>FuD-QC^Y-QC??AAIrP9#|l_TX1&|?yxuncL{Lz{r;c*yF0Vp z)!o(AHFaO}>Le_XgM{B~d*GY=xp7WY-}}a}Qg6C@YulNhzUx6kIeKt$f0Cb{&wSx& z=;Bg$^uCE~7W^N;h3YS?WPcjjV~k(_Bw^azC0;4+IWLTEl#WapIIcSJOemQ9{*;rI zm!`R5e0l9+gc~{TLXi0MBass;=&@7khC8WJfIyh6Y&C2r+Dno(Vva{rWg&1~ZPka<3nc*IuTx&5a{cn~Tr90xni3ZDF`sf6yqpq~!B2mdzk^_HS)SAtYIP9)IvzhRNJ8k(Q z5WQ<%IOAU$iGU}^VUc*SD7FFrqqJ&tS+c+fRaTLZL6}a?Ok|mw-`hc>?N?;W>8IaE z>uSU6A@pos-lk`lRrM-|*ITH-PQk=BEWD)a@Z$4!*n1{(OUGk8Ywzjl_cQ*U7-3zh zAMyC#vwX^yCCmtbxSQ987k{@;@vj2|!~kC9%_8l&=pU3yv3BQS2LjNmROC&B;x=p< z&jk}y-wPB^SlHKRWm%KiJ8~vqe2^4m+7r=B{LxKmEsm#icwN^T2KG6;CApJ=@3FH) z;%Oy4n<)PJZXbJW@u(zHg>Gu!93t>ecR#b2CKJVi9{~%4_4hPbStjgBh3Iw48dgwi zz&9)aT ziG7v_tefr~y*t@ktzFF;&s28POOe;0znEb;h?$_{O_xFBgJ_EWF$Zs96mM^DKd_Xc zYXhqZCX=(H(0J2#?ZkAgweEB}iAqZi)(^5rGP;g2LwlRm|19wymjJ(3&`Gl-JZk;wguUkx|iY+s6Mp1B5+5-J-IT z1BsI{Q5O}YWQkea?daUr3tUrjMN!Uou+-*wy|vX3?MyUR@(jiPIQXiXO7rBUMVJpNa+?{!;r z5oC_gz#+^^lIv z+Fs+$Ncd#foXa5+KUgTU)AX}(B2jo=*7dmGJ3)wnC`5xtO^j+)tuh|=*G-gXl?k6X z=ItcJv8bbOEN|FU9uLU`fOir;OOZ7dS^|< zNY@Y6X}NuNn@P}+tC4PxZ15I5rf4R)Y-yg}M~<_w@v|(-wOxw;Oe!dGW{t*Xa<7Gt@^2V&A7u*M*87`LpL^swfKFT~a{FpUXO zXzDJ$a88wO@940cwvtJZlm)imKs|llVfq}CS{0NaX$&)~ssf1HXuKCL< zgJ=o!y60l8bi3ZlLolB=7BokdHQ~|rrR(A0VKOr_!>#Bu{8N~K^$QHVgY**BH!)TA%Xq>!G%_hMK)F8Xf5+J_LfR(ry=21S9(@&UJnJ((nwHBBup8% zI{3S&s8laMDN3IE1AO|2h(nqR<_kVYw!j;4BWyGsu{RV*;~Gd#a>@B{2_O zIJ9{E%)c6Ku<|QqP0Sfp(zzs+HQNO4!*6hI9H08H%p%)IE#6;A+OdMl70@3CqM=~{GNY^cg3F+0luF3JY3FR>nAnb)tRqKWk#(5>J6?LoNMtE{VV4@;#QsEm+?;> z=N%_ED~7J(C5<^kS#r0GE6HPm7V?i!Z$#ux@p7E*T=P!CMq<0bf7$q4G&8Wxqi_48 ze@x^6)&>!II@iO~KEJGXwY^lm;GQh!GPWWZcjc$XkZq^9P3Y*C%{M=3x?lCVp9-BD zvakv*owxg4{It8k6P5SBRk)Z z&H;42_rW6wO)46yGWae_#_h>gHk}_o*~HjBX~H4W+iO=@KX@hlu4ZT$voWc-*2ajc zOPDc@<$D09JkY|wutwm>;CA>TzqG=8+pBu`l7|9`Iq^}3xhbPSPfm_+R4E(q zO_bFy;ME+Qi+ezPI+EjMqr)Q?H>T-JT7wTX8AeJ#o62D_drpCX7eHmTL(w*;oFt5A1nIi=9N}!apA_(UPadz7au z^k_=>X!_VRj53-%ex=$YU|mUB+%vm~d3ZGKakO@01ww8_n@7es%prVxw1WY@9JgdyDO&uXb%F1{OXURgr(AeHx>Q>%lYpl;k($uDyKoDp% zGB7Zx?XFGd&2m5w4oZLyj@D-%Xn;uy2WD*oPPlHl6XG|I>L~2)d?-1sX%ZVYoE}s& zr!Y@U^NJ}{v+$Sk;mDl+U^J88zs9lu)xBRCzyo`Ge-dJDb@{T&+Re;#ORE@IOGrR0 zEG~A)<5K7VvmU|3Ah(Bc^cut8Nt`9m*S~Y;_Dxnqx4>?g#A-#Wq!#lM{()Y?3U%Qt z0-1yAaECamJd=}CZv=2D!RR$2AmU4GA7b>28va#38_C}=w=lz9WyZ+Mlk;!TvcgM4 zb*o)2EY8gR=-Gil_e%)!=Z9tvcVdd%F=nt_+EBJ=XzxvBX1aKAB;233_8uwGCLL`i z@e!AsowQ7G7J@IxU6B0eudiTqzv6tjko|G`ABE^KDptRp!Hf2Jo@IjQeTAH#^lIDQ}rbsvm!gy*Uj; zS&r#yX4rV?9NgNHj-4K2jibbxYfI(1Gx~)AG&)e+QoxAXMMRLwO`W*>is6o}xP9kJ zI4R|YPs4jtPOy`Wl{C8c7ZfSSxt7rF%Yjb{2s9LPn;iOY=s2KMy7%AR)C*X(Ef2^=`UhGG91ML>zz-!jRe|YsiEAVCDJsAlCh%AUa-6SoEt?{>q6n zcg$Ny8!;!6Qjhomd*W7xPJ_#jgBDJp14gy49@W(ogFf|rs6st6!@NKx@gT}j4M-K9 zw)SvYRKnxP*l=XQj^jW9Z20F<#7@^~u;QSbVv{y@NOA+Uads<%3z>-c88gw<sf zW)q@gru$|Pu{~f}L^YB$^dCAHj|7No5(X-dl}}_A z7gIP^|DpUxdjo9ii39fp$;v>;!aY``a^Pbz;&#^bot?ryx=jk&@2~32I(5kDia&>i zlX;CtDRe5+UZrTH+eog5D3fgbD4Oop$dFu=y-LZ#{=98s1@r11@z8lAp1FdT(PjER zDvH=|H;5W1F`k-Qi;xE^QA<0Tmj|nZhg26!L*4J%TwK}1Qg=Nj*||2q@aa>D6_8|X zT1J%4p2A19R)Zc=mf0mC!G+Q@uh<)i9`&!F7*aQ|9Cwqb>(@bOw+%8l9c$_M}aQ$)c4iBTfw^Nde|8Hi;i}dIr&%ya$ISA$h+tU(`JCR(72is6V??YNi|a zTGsw(kbORrl~51Vj>{75gVReO43jh{HmEHNN?^~-oXCDUO(}>P4gLFKxjybuTXMkR zDZ0`31HD#k(~s|5PDyv)vIlKkHR%e|K2PcgSMB!hU70Wp#}Lw?tYyTZ#(d?=-c@vx zqEzf09{U0sbdTNm7*8YTyFqUdKktA!qQb9KN~zpNU#QpD*L>3A`uaVz1az+IkJFOm z{nk~J<~9Q1^oOmWBQ?oTMyhzIOyaw{VQIl07MY6F$+|_zh)dM|T=325pT;eOcVGZ^@pPmfe z@VIMH_+;HQ%8tI&Gr_GUfawYPoPGD$CHebO5?RY{FwP4ii}N9BUC6_}YN1MZSU&Q1 z%`n33A=7|c%$tL@!+X1;vtCA!ZygJ-lqa;CnQ_-`hJDgr469oJE#Vftje{J%UInBZb@L62azmQTnmEq*F z%$9?JYadpa4!O`f?SlpsuY77d0tz2eu@cZTs>(;wSoNP<4U&1vT+>{n!li@oGL4YM z(7N7jJhCdO<;tIB7n9NOh+k`KYsw564p6UM?pHk1rN!=ROpRBmJ-!8}m|g95izr=)HjfY7enJDyv>I@`_$q zhp9tX1>1i$1IHh2MF)6S?8=U2{On42hU*H{u6#!G z;j<_LE(Tv3lj$X<%26L>1ELAlR*;CPH;XvWl#j%}*Ab^8a6`ZbP%y7V&`O!B^~8>? zOZF<8b(j?>ZsSJ%$V!Qi{O}~>n$a>XADpdc1?`aA+sI=-;FXxRu9C>1^N8!D?JeCh z^X^`}pv0g^OG!bo7`2-{^Bhuc=A0H$$Kx7ON(rzcoNb=mBo#nqQA^#Fd9?k4zWoro z*-QO4D&kp<=Mcc-Wl*i1VI z`gq<=zHo{+UZkOWNS?m*Jeh^Bm1xwWAkPiAk0~Wi*%W_YV~J}wBMw|w4jU&K#L?z~ zU?31of2#Ab`(~Z0-c**(;66l$+TO=3T|HVHPl&!#tX-}1LCZ^f!jvIvU0BAbK?N8Y z@YGg@Z#!{@Dtr=~TK)dVv-tHU*Z=3(wlX)Jx+6N{?-w6hRYL_`@3jR9be6DN2}Cfd z%~4lGQjsj2awZXODm8-Vb!6e?&^7ek5JCKKKTi76{l+M|*Ibjy1luUGb ze^}GsQA2~P%Q`U&sID^&Zc5Th5y!;%{vUEWm68Bnw2Qw!;!Hs&UCfH%aOGqgcH$lys}v0OOeqM~ z!C;!tT5qsm7J1&ZMJ_o_;V3?*joJQi?3R?0?vGpx?<=XBe*q9IvVgs9Wje;HkrdF2 z9IF-0+Yed#qLmx=Q5Nt|v8@dZi}H}x<$K#(blqeUiL&V*5=p*ImRcwP!rfKw)~u%A z7CHVsy0KI_Slv8l6lwozF?xudBC7?ZmNMiKfJ$yg?w}DK`E7DG?Dk<;_7cG0L)X(&syH+!r8l^wf@dhB6tsi>wBnKK!ogEY7KtJM z_A{>39a6!TZw^^qMiJBB34*$G-MHfjRUp6qyS`{h&`T#ujLC7P_LjZa%gGjY6}|Jx zj~V=6AXtZF%<8&bFWuyh+`&&^!d3!lRkHB}V%eaoH0l)Q82r^64+s2=CS&A}Zx9j| z7CefxWR;Mp(Rn}3eOs4qry$1=pJyDlnBe43pRcqx$mwjAVpFK|B?l=R)N04*7JCph zmmrlLo5uzXNAZ(~!|6`ZiX!*M;b=4RQeRvh+q-07l2;wg%OBm`J<6g5qB$EelxJyT z|M4tZ`V9Wg({#;O?O|TN7Z)kV@)T~LR5_obRlElmQ(X*-`^Cy%s|~@*8nCXuqZp6L zxa20F8c=H(kQ$rMWMh*#(T#>HxcBwjm*hrW+nzAgCRHgw?z@CCkjhH}(Kwfkq0L+O zyZTmHMfKnFXMG&wVQ<}MO?1LFw-FYK3MgzSdmwyi43(H1W$ClPMEZ62^Nu{t1UNmK zLzR|uf8v`xQD8XRV!PuxYgkn0BO5`3_K2M5=3Zt$mgxzrRjFTMkL4lS+1XCU$A!o6 zI)ZiJ=;1^-akk=ewhYf^7-U{aQycS75&;UzPh8s5j3DtJOIx@}*!SKmrHcId3igf# zB?cOs5@$r{7fp<29#4iV5}@A;YqDYUZzz7?W!sZ{ZR8QV#gi(xR0$9{-FnMFP3i}E zdg?LGjJ4@G9agMWv`4jZ1?E~Y+2qoq)9B)|ycdHDS2|IXu@=i@+kL={+R5g7ddi56 z0DYZzqxIkUG6eKTjt5G5MnDV0mOdRz4%Fk`Kt#H|Jen8=OQ))52v@zF`w=Fs3f4ck zE)LV2LRX$4UD&2fJyJs~sa!u!dvvW;2XXG`bQK;xEgl*9;N=F?^mVPk2P1og`6U%2 zH2zv3l3dd#H+^L#u>g83aV(~F9gu(yEU4uRervhGgQtk4(vS7p{b5JR#f61Qql6{_ zg^bQZT+pS&S;*8TDgUh|kr{#Fms7DRyoaoPvy*|E7E0>|^wm!V^Q37SXDRWWhjCW= z7#&v+JJrBH_f&t!(p^!ssY{}=#%i`lbciHbt>cfq@ZLZMRL^2sT39?iZ&mUqP6VH+ z*na+I=PMn+VhM;YpU5=s>3)RE|DP}MJkRw zhV1&$TGUnFEZ!J2-{-B!m*0wtKCddQQ^z-qx7|z>PnWSrL=dbgQKyHV6!Bfn? z$4TTQr0{L)OfEaoWmc^H{X5iv$pl9NrRI->uH9i^0bVZFQDMj%JU%}DvC1~(dZvpu0vnGq~7hJhT|`Sz564ry&bpI-EM&W>6;pZHv4`6}l& zo@C<`ivrfFN*h5hpdPYSzrDx=NU=u|5%gf8_{dO__9S3Ar6}pW? zyKJ(OpR&?!Ic)|D6ES7str|{Nt4W}FXaN_{^yaQF^Z?VHoLbU)$0c%dW5~n}{8<-* zqSVQ~_4$UJU^siJ!mM&B{Q|B~y1oS^((~qvR|B2%=~DzW=~~?r1HK-F+MnYH6jAFv zA5WWpPwTeO@rj>h22<mFUcgkU&ai(0$GUVoT!=6+_a;pWtAaIdU@EleJ!RCuhE zFs8J@)thEKZ0T^-pWDarnPqamariilTCKni-Ode+A%n&~PL_PT=NOhYOp9?48a!GW z?Nrn2<7!k5S9EE8W+r9>P3=L|gu`~zukH1mQkTC!qSi{u6n>CtNaynSPhvJXxF4<>%tR*S8Ft!g|8sai zB{KJQU+9;iADx~Ksx1GBk=nQ5)=66g68Hs2$YrOt$a9|D0ig*MXwt3LgFmhxn~Kcj z`te`V$NQ%o^vc#Dymct`gFXQ}Bm;BZ!^$+CH2Qfq*;})U9X6jYaCB=23wxnDZ7g2| z86VN6tyj!y^LOI1aOh0v zFkY^NHm&(2i^X`b&bSK-oeC^Mrj{xND=dQ#%nvrOsd(wE8|a!2i49iop-5+o-ua zwfdEVf%lL3P%UB15t!S?D-w~#GwuNQ3ZXT4ZV{4~i$nsU`%ml&ZvxE~a|Fk^Cf+_< zqCq~N8L-Zt#6r@x3GJG_RaHp|$wo?M|Bo!`h^uR#F`fu46x7~z=vUWXMeyM`I*~{a z-r3oi1fHp~aw3|^YQQ(iaE0oXbn(3XtjhBpFtq$smcUhKH$j1$gnr#y2?UGoTnUTRNVle9M8#nTE`S!IKRzw_|CgI15FYoaB%1VmeWrr>HpG*YU(LK75U<~))BR_~)SrV1+`A1-$$jG| zp-$h}y&)Z&)&g8VI#OktksW>+t7>lj@gEBV*5#Zigw z?NH1B9^NrhaFPzvWeJEg1MboRL7Kt8$|}>GEpRyQC6zEIL3X`to57Y2JXAAxFdI)5zTOOA)!>)CY}MLn_}9$aR@ zigT+&O8XE$Pz#8aU{U@`K|FcX?&W$jtRR>uI9?>VVg*Y^x^=X)n?$sv`G7A@#pATr5PUG2h}zs0 z)+9(LMg4vw#?C;hv-hVpBwKhJGVU``j2=^Vfu(At91~aa0Y*EWeika~l!r3?*~^-6 ze2h&jYRPJ^HaYHQBE%;VCef=#p1qV&WN_zS+KS&N3X*AL)3+!7u4$b3)!u#QbU2*JWd4AVXUyXa0+usGh03y6TaeV)9T=|{mdj?5x)MZ|MRO+TuVL(r#r_q=-9xJR@K8*Ul?6*HdL3N@a8S#W@)HA&EFS+*a zke>+AtnjxNO$`>QJ??~7;iQGw)%H=_4rgXT&@B4f$}L@b6?M6 z>^5^-op*J&-@9B774{GI)+qJ@VAUQ67~a!9LhF=y|=+% z2=5#m>Q`jGv?}SPN`ea!ov_rZ=wrw16FSGQwuQxGH>T)dS%h_8tM6U!0>kOEa`PSpJ@H zDv{^rYxtwVf5EIiN0cjB?}4{(#Ko!zU>9)6x}K*z)%C!L=i(t7r8WKYW3_0p3B=Nh z5foa5M8Xn4mxJ~exC+PUu>6=j6c4lRfG)@#U#xG{)4F5xX~K-4-m_v}AoZe}HsjQlsgh>iQ-8 z6NuB0_diP14u3Tn90xE3ULyKrQsJlQszJjwJhf?0POvUa)27^$aSlx5k4-zk$dr(v zJD9kkiA;qcubg^^|I=pod!AQiW26Wx04fkNGP3&O3GSVmsyd>{R-?_i&*VHTF>II_x6*kns%tk1gx1zvq z5}w*%St(wF9pA^JPO{(eKOqjCJar;ZmeW3Lr}OAU?!uCSRB9jBji&Ljq<)StM?1l_ z|BM_?VaSRS!;%A`0U+e=!?o5Eq}Wuz^nDCwdfZ8N)EV^}n|&Ekjk_EOCCQ0zbY&kk z%Yh@H{#ochc$GVhQ7G1I?$eQYC^Cp-R32362xlSe!vQR}H6MdXe;)-y>zJ57;G-6dOAD&?0kV4}}zvlg#;8#@z1ZIpTa zd!qN+ouUz#z-_S31t?i(I3-dEHUt4nA6A1s`{bqnKE8ar5mG)0VY#K`+3F7pHd~sY3pkNdxZg zP?0#-zJf@5O&hb<)_XShAU=qHA6*_fIU0fatp|2EV|1Rd?nJ0803!ZzZu;>GW$w=F z%|B@=UuMC<#0v2UDJeOzElc-u{Dt9DXIbmJ_;Oud_}-7m8f6~Baq)^N?(E30PeBo@ zranV^+F6p83P^#og_p!rQSTCxR zm3fl}q8EnViFCicBH|a6E9Jx;t?ovSac3KeLCFtY>9kXNCIo6+N#{oi z5)@%URc(EC4ShvLm0@1f>;BUl_H6b*lrkwPGLH=|B_iJ3*pi@JCB$s9R_~fx*=Ddj z`vm11uGClrl^r5SI&Ig$P)F`PN%BVq<*nHnsNq{Si6m;ps_pI0duM#~C9dFOps=y~ZMZ<7v0|pS1 z6tuiCyBBWPr&hzW+(?7&^qc9|uhIh5;ZM@1JwGoli?q~~4A0gKIE4&^KswfDalE`J z6;$G81#bgpmV)GwP>lo7`%WMpw-3khOip~%{fULsiyRUu4;}-q;$7gl1n_6FV&eV| za^}INagad1NiFsvyqS#&e3^d1*zp8`{_|E^PRa8CFv=_%G=2$cl{T zn5eioWEga6r=`1EEMD!rlL8;D@rRgkm?!#12z$RFmzy~d*@J@x&bdAf;rk~f8czt5 z&0Im^2qG>eQ~D$U6ufu$jM(f>dX8|3>`%xs2RHE+R;!rFGuo$;;ynbFkx@{LX#Tu#MLDj!t-&F%$Q= z=C{O-Y+nD7>df-yY{l%vhdye3@vnq|r&0>@??0PU&?*kPFM(BRKTPAMa&o2z)!Eq7 z6&g~#t1hG0svF8=e-_mxC(ijr<@y+oF zBqSnu0zyzJtJ5P70Q+|55pO&JKeIsEv|v`gHn3BA4?iDJ6K6`h2MmQvM*1vX_6=QM zPf2TB;7bLQMpYDsNa?7Mw+PfWjElKM@89T;xm<>_G)nuMM{)jxfH9knbkD};N7O8z z?tiFEL*wCS@9B_)OqY(CBYhHYC)*$u1r|hMLxx2}Q{21(v-v~euR5Pi^7-5`{=_7c z^HYDvZLTY748zgKa?@adN@-y%UABf)pv4dmO~B(MX|`qQPh4e|*3)Byd3uhC35;nz zz4+~5$}bE9Zh6GuBb|js^eM5dOO zwH4k@iCzeH_!wzW8*~|YKtp3PrOjZ(9Q?M`;lb?kHG`0VFO2c=@d3KHSXyUPzioo8 zS$0;L8-)HN0%Se(McWn?kPggb;QZW!L>#}A*c3aU?2suSQ`U@{pLj)LGZz~tmj+3cqY-7 zURLyOT`-CDxy*pOzO1A*k5!2IeO|VpJ=bhLAGjbBwb}fUe3V}E zzi)JfLXNK)bTf}`t{1Y6oXu;CLz93!beckLEKlM%4bNrUv2K}&=@CE*Ub(8mj`fO( zY=8rTG}%+Gm(M;@vLg@RO}UAOL{8UJD7)*ZRJ#B@`_~3xuWC`$ui8t()?Bo_0(WoTh{b3&<(9SOq+Yvt(R*`^{S0OI2$r8LL zvK%t5${;-^wgNt11M?N9!q{BpR)88&qIIDpps?dwCR|)>7$hR97C>c6`zx=nM9H5$ z2Ok;@%mcT*J(2u>k4UqHeSo;!&ayiQDi4pG)<+mycSt8vjNPbdfdU?9hU1xnM0gP8 z-jV$)+FAn@l_a`j7dc8;pP4dcAK}DNMJ_0uPW;^n`N_-T2V$VwRy(9yp4liQ+2nbC_QOW$1n-lA?~89i1=h^#+87fW4s8oJ0z`{Q%4m=4QcyGSpoiXJ$KqZ2@zy4k)ofo{g# zG1;7tnT&p$eWxf_2`_XN^)s+T*5FusP^4e`8Zrrb*!?OtSOqxmUJT^BrE$0VU9iU> z7DG~2BjsSr%P}}sBA3J@hPxtCHiYSWjnK8{hW$2qM-^FnA_nL<^$6Qh&~50IG}zPBvMtP&fE#wA%#%3m|DK!h?{oDjulG#q)7_ zaf!NXE)Ev<=;Pn8(4k*x%w*&?QIx91Cl6#5h9s#w`3Z?wP+YZpa%WB#&M*ny4;eNQ z(JJR9#%kIEtEw=rNPgmEp=htJQqnRK$GV@m9dGI9i@Y+X&Xoh(yNf%Z7#!;+zoi>n zoEX{MX+4oP%=|C@Pl}z$Wh9vtE92mrqfw$L-u)IDnLx<$LP1cm8~|+BV47Sybflw- zoCgBy5Khu8Q&KVJYFbR)4&w3}&2AwglS#lcvSfON33&hV^5FRU{`^hg&~!%p_*Xn% z$UfcE#dgf_A)=j~)^9prGr3O&spTbHv0q7+&qGQDI*#YxlMec!!36^Gt=?rMN{RAf z+Q!X16$F3T)V7;w0*#AA<6vRhgc{_7N-MB|8{61H-Oh+US1(HAB%D6`SWG5v$aOiq zh5!uso99b4^w->ThT#I?sOR6^QN!t6SXddwMWs-=I^3oSuH-(@E_L2;H(&+o8;f?< z{u-sLis}3F^e%z2Oqw_ zEk>Asn~x+iviUFQB_QD^ZJaAmjg64AJTa-{^F^nXTdL`4pd_Y5v>mZ8?z6W}pUza_ zYKG7sp&o{hgZ+ltOA`<9QKm;Hah10xvgMEofMe2ZhIb76>>P|@y8VSKB(g&KbDhPF z{(6rfl55otO_m+L7U!`Qd+l|^=i=X;Wdgn^{#2bYpt~mis)7uY6*_-hd z!?1}EwQ9Q;BWZaI!5zesR~gVhi%STa@kTl2xQr)t9>fYSCEF5U6qeZ|wwniI#H^RE zV8OQ(OHr`rVTwEAseV%rAHY!W;{$%X(T766J2vy^(iL$^B6 zZLp9e2&wRjFUk}CY=MVevMrSxJMiDzmp?i$^y@cdhb4zCwQ_5V3a&JUfl)Hj%iJo8 zN+^gJO4R=y@R~Z5oO}LExiUQc`^TSY90;3=(Hwcfd1!YzJA5-h%X?6-S~DcJAd-QQ z5}FNrVq6HZJguO$(MzWAol)=KJP{H+55CH{oMXT2gM^mrn;2XfNr_xFHB z!IgqNbOfw7e{H;l6-V+>krp@2DwtC#G0q|jaHq0THEd3($*&Y?93_{V`ax&aV;!Uk z(?Z=+b+U5$oUk2gBH;<5)I04av47e`sJD}OfVWUOWDi2dWr0H+wUO^OkAK2rO^ga_ z>t?NCPk|h{tX_|#iM%_nXy>D_4fo}e;eAC|*@H}@JJ`}aK+2jv$(WdfU(DB*?rVT2 zl!O19*G1zp)mqh)>em}>WWhTA_y~^Rw^C`eu3ZUI5xF{VCaquhCb^b8?Q2O0Eal2j z#y8r=D-E>26)r%dH`fnk&aj%VJltLqt30ZwcK(jZ@BP2S_Lic}@12TO$CMl&Ebir& zHnQ04!~U$G2c`v11$GOI&G2BzXr!?cLeqgNQQ^q#!qBki-Z!F3dR%qW-FYqedgmJV zRo(JL#96{sBX^w+aylOCLsx(`ii1707wl1N{n)!$J$$Y-1sCaB@E*sySG z`3D=wO0vLk8){!tNSNos%*|3z$3uI)X($v5NkR(f!2KZ3u))rRYEULxFI6vd57(LPy&}#onwV2doq+%wjU z$jvnnM>EbQ)5**NIhcrS2?b~OBS+@tAtWLrE1|WzJ>Q_6x2owwV6Hnb9id58v(+-v zg4SsNw?l|^B)V{)(am%q0FN6}_U6OcYg4SGv&26HnfDwEk`ok;7`RMDzsj7yfB(p7 z<=tR7;T>?S5nd_4-FtBU-}p6s(&DDE0$a3@&D))*0MP@U?gkjmdk*Xk1#fgblQsa9 zv)uuC_h8(0%7DT#k3wvPOu589oY7XqEs1n+JV zgC3Co@Ae`977+oiHgEArbCSk^9voy68eQkgADsH;zvWKKd8+>!Ut-0g)rvb5K5LNj z1!IBtd}wR$M7tjKa%ZWPsKt3MwO935==k$N3@lxT|2~^g)4ru*KNTziuxn~NLX}CMbeI^a!9WltghfmB8vV)h~hglW3E?=f(t1Cs=~0yIOnEb6)q2J1`(1 z1dtJ$F^U$MGvc*r#t1ydQ>vYnXqnOoD(lS6hm_Azw+Wz}zd431Q36yJv3L$B3c5@j zxb3Qbje+$37s*IhY{}GiV(6adDFzbAM&YS-(yQ|qkqGplD7+pnV13uz4C}>%n#~SJ zA({i}5rY$ueEz4P1Lf)|h4u;~Q0Y8xo|zI6Aps#!S3vTQD4dPLj(c_D;t6culv0l*(jwvq)xNSG(sBPlxt(1?MwHTBZP956(r%ws9&kMhTnTfqMfOYOV{_nX;4 zqJpif(7&b7&QwUoPRH$iHz!DN_h4gn-MRwxRbZr^2~f)ChQMJHnRxfqp#g?57jS5ijVD#ZSPVXYn#^Te@`86Xr7Hcdyw(G>sg$I%{zd{o z^`sFJzYi?9t;fWb%2C;XFdRcVo;ALZJe4+ESCCPI-7N2G`u0?E0FAG+}o!Gn#85<@uvoiYS+qXN5hKB6Qj@O3dmDSQ9l ci(GcR&Hw-a literal 37657 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 Zx&~e4)8I;maPMybmyQN-M5SgQ`+w(C*c|`> diff --git a/school_data_hub_flutter/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png b/school_data_hub_flutter/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png index 262f69fb9aaf486028b4f9dfb76dc6e32bdc22ee..f8fa2aa349c24dc7e9a919fded0445537bdee1c7 100644 GIT binary patch literal 64202 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

Wg%siOw{1mSV;IyDLO!g(iF{v@Mq>BzS% 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 JtO6PZ{T~{;8bJU6 literal 64333 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 P1^LKGD2msJ8VCIkw{`^s diff --git a/school_data_hub_flutter/android/app/src/main/res/mipmap-hdpi/launcher_icon.png b/school_data_hub_flutter/android/app/src/main/res/mipmap-hdpi/launcher_icon.png index 2e5e279d98c6118a0f79956b8001529f062aaa99..70d66dd6a322f3129b3c933133c43836eb348dbe 100644 GIT binary patch literal 5188 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 Hu0mjfoSa*> diff --git a/school_data_hub_flutter/android/app/src/main/res/mipmap-mdpi/launcher_icon.png b/school_data_hub_flutter/android/app/src/main/res/mipmap-mdpi/launcher_icon.png index a01dcc0fde46ccbcb150c4e974e862fcefa9e290..a815c07900452ed91e04a993e9c938decd596ab2 100644 GIT binary patch delta 3077 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 T`aep<00000NkvXXu0mjf7$n!b delta 2774 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 c5tYU;qFB diff --git a/school_data_hub_flutter/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png b/school_data_hub_flutter/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png index 0c1d5b80bd741f87a435906b61d8f4117b2f606f..6dab1cd510035315e6c633b03fd8825f19120521 100644 GIT binary patch literal 7619 zcmV;!9X#TRP)KqLxw zH1-x-1Zj#W0)lk-XU@GB!2Tw; zK)}~@YEbMFn{yXjTwH#1b#V!*rs~O!k4gZpZf--|+}zgEq47H|i-@|>_5Fc?f&QyK zJZ63jJ>sJgfb)b2W4*n-z35QEz`y{rXU)Rk!GqDLQ6pq#X5!MNO9%)Ez%GA((Y0&W zMqAt1SbA>XKET=8`9^iuy)=9j0@$->PYYuHMmkh5Gc&`HkPsLe8WvrzQ>Tt_K6L0% zOq?_c0|pF0c6N4yZ|Be7VQ+8Wkpxy_z0DdgfRvOJg&8wv`p}_5I|~bYG+bmbsQZXUsPHpKL9me z0E8C&Pv_2^0Hp0EFTdT&D`d z#~=W~mXD8*m#a`gK|%2{@)fQ^)OZ0H=gdNKQ`X!z?2s zqidB}#}7e`7XaDuhxY^od{35;C}8hieCFs_W|_RaJS=pNwE4^;tzCB^)%$aD>yg52`>h#|Gd4}(sZ@XZ}fK1Szs;si*K#dmw zgFN3Ejg5`_QZH!Ut9Nhs`TD}a!Qrj@SVb+QmQS|7aBgB^vXcaOuBz)R4?YS3kU5!2 z-mT+=i4%`zWo6a<f7<%-mGSRzkeKBj+tVN3!F5JjLyPA%VMgR;eE2~GhZr*ev&-Qy)H@CSY zh;j6@n&k3j$4@`q>EhzD&D7Mi(!AbZJvw6Ph=_>LgVJ`gc+t z<*HaYP$?njz`(#ZQ>IQ`O9p^7nOK4oqNpZjTYgqv=MxbToll%NF`I<5*UQs$7WLA{ z@;tv>0^k<^*{D&+sZ#CVb4wjk51-SZIXXBvcpA0L&E*M&9FY|v<^EGV*mV_mcU)3<^yrbJwT(^B@Z-lVNeKVQ`VP4Tz|0@v z;BYiGHMPB}swzf}8U@n5f^Dv*riQqR~s5fc-mK;3k`m9@1&;QswT=#(R# zQ_=O86;Gc&RiW?nqgJo4-9isGn?3{o&CAY3er}#{k5-d9=;C6BHqKoU=H!F)*wltp zX6Mx_SNf0&&aUteV70?7pP5hYJq{l}jP_<`CGOGH)kXXE?eX=zd6>Uo0X#fB6se0Y zBXyOu+QVa$JnyScP-}KiO-bohuUli-`He+>L7u>Pk%Fkiefc?gP_M6v!GV)-X!tgy z#-?5@_f*m{&6cjWiHa2!8`6y+M zOL7Uo*Uyj5K4I>)Pw(Dk-p>{L>Bk?@rE6C{H6o$ek+l#a&pWFcDJdy9bM~w)9V%-z z)rF3!0S&gfWtO8)g+VtX=(N#C%AKTUKmGJm_jT*mmFb1cECAO1q8y1lO zhL%-Io*vK=5>vBN$BuFo1Nun>0LkoDML|nTOM!d>v}@N6b?esslzxgP`XI-MpiN}X z2O0+2D9A4qTDL67&&`KseQmKpERyY8$S^ z3B!jE-$(=LZ_h5rLqSE69WI&5DyggB*;Qfkt&lwPwKA2Fqhj1DIL1I?uff58cK>-`Waeu~FC;!mK*X^>u{ZDlI&|uWK?4WC ztX*4mvcUS$Wu_HG4~WhZ?IVgHN-gbWWNJ4c>cz*&H=iK&?`P07u3f4X#Nc^|q)YJv z5u(Pfv*CUaXZGn8XH6DCd^!yYbA`K@$!7fj9f;lYCkSh{qnw3gDJ z8@ai;1$cRRg^>`xb9Qz zd;nd1d?reC>`Q<2@fZ%Mip1}gysHqBI^>HG=Io1%m=qS;qeY7rt(TRjatVN$#jza@ zFZ}xJuZoW!KgJKsmZ4d*W+m=pwe!c09r*6M@1(6iu7kPxA?g7W=vbAx_2R_~yCX-A z^l#X(;pP7Q`}2TO^pKpK9NfBb4ablFi333g5P9Jea`W;^2>X44m;Rnl_y2YN940|yO)ot+&l`}Boj1A}^W?^Gr>tEt7(`;H?dB!o@TnCa7}uWs40<+(X? z=kAX^dbj@GzH4DNy%!AoG=qkrwjl49Q7@2i`XO#_J&){X8T|4X&+XeC%+1Y{W#y^d zu@nxhSy@}xqn7yn&Ye5K#CE=|jSXs%wR4|ZJ?ng_+F|DJ_V@2Y=3+E?n5z#QIB;;l zfB`M3yR#X|+!8XbcsemA`XB5I2*B2D+i>Up!x9WFt*4a+X}P4t$N0l@n?S0n>KHg= zIR0%hs-rR%PDA0hQi9|f0UmQPvyuYi9i#Lsv z@)#Ea$|V4fYOeP1*f@LEEFUj#??L1xv(>;Oc{zgR z;=g+j4w5yM`1Dx`=2Qmb-v#M=o{}ZyztdMBWffH#H!LuG*f4zh#aI~E*H>3oR9r#o zX*)F}FZy2Z*>mRfpkn=rcy1stB0T)cht%VP!nwrgbdvlYFqI7M{JHFmd>1n`gLk^qhkLeg>-u%F`P}>vlaF3s+<#! zAj;Ki+Cn)f{1k3pzly-1K!k-I#no%Kkd-YCpI50s3JWFEXd*N;Y7Coxwy?Cc!q6du zp|4luX!7LB-<4H`suTb_L}Q4i(7@KGqeWMBBDgJEf#+mq9y)jcD}PyzTX&-+w~J(s z!N?0XC6$y_V9~WZSw#cLOzj7Yj^DMF>ohDjdIkga@s{-4mmcaZ`*QGX_&8Pe${mZ>{x9BRWL1 zo#-vAqB2ljX(>GN@{AF$`{LM*-qy`qkwX@cVdLi5zTFeGHC6E<`8oa!J%TVAw8O&w z#G_bolC!L8ikU79tQK9+&&C$Rh7W^z2Qw%umH6y9A`X#DLls#S_LVZAy7Pi~rbe%@ zAO|~li^uV4|Cu8&pY?McT|GFCaS|wp2FRP&uOTcn6d^}K5PAM0a^7&xq^+DyOB-T% zzy5X@G@w7~*VBKO&^Rp7j_6TUeCYd7-2xES93{m)!aq@u1t!@KwHGez_V+{Ru~QiN zi357}=z%)5wW%d{73kYVOOOyBgOK159Q!j2Cr+I~<0dU&WottWABe79Ize4ct>`7> zSmEJ=yMn(F9DEqQ`wpS5mL`WKG^^#Si=ny&(1HJX68AvJDbduahh~i$3KvqZUxeqj z&G6j13AL#w*bg3x$&;s`caJVmA{Elm$QWNv`AVQyuQH&frvBF2fuyHT;J?ccJN^7{ z>BJ$JwZ$gUSl^gejA2hYpkWXGJ)RYk;;iZU} znwIhcJAJ&d)AtWFFf>9xJ3BZG9}XMxV70YtK|@2_kU5-j|ITfpm2=4a{9l)l@hVgN z97*7=urLqGA|8S&JVmBls7?WJcvy5LG7Qt^%omvRG$tBfOq_QkpQ+n81u7Z_- z>J-3kqLIT!O~%w?r?F|9FEll@;O*&23{^lI6AK(Y$5DWab%zy5Sk0Q%7mk-MT{_#aD4OK&ev&o$J#UcFIP zVcWKCK^_ucKBMNP4~^QoIDR}FOP4Hx-|hgUy-XKwkyqVFowGJ3 z=5Sf|14cQB{fy0g%Z@EhATSBPvHJ`DI>fs`Lu;jvdF*2Yun{;&O?~DZ9J7JNo+i&Trkib$g!JFDxuT z{DX%Q6R{BYZ$zP2ySBo6^y(R6{g&-;_gEu1TwzDU$ODccj3Y~2dtMLp62o6np*+dU#Ye3Go0;N=oP z*KXZ5QDq$!sr^hGs*9yx)P@n+6NPyN5YdmXsE7JTW?}yCPw^}@wGDmL>D#w%O(OmI z4V4qDA5N@d6c%LSpZKEbOFWD#n!`CIp|3S-X{ihwF%nFStjtU#K6#A4@7#p~F*Wv4 zG-~VVLsMN1b%^n;TDBq+RqM@|4}%wM&mjuuSum>4)N|*~xqkWOmmbuLM@esDhEs3Y zL6k*O6M(BFOduJ+BRMB(@%zIe-r%nY zJ$m$beCyV&(bVcUtyr;Q9(^0XN8D8;%%@(9xpU_VKk*V+76dzeJ9g|4R%dEzYQopY z2RzUH=doja&oWX+fd&Q!We(1A3Bb$Ct0{Ha-*~Bx$Nx3JNE0f~Q`c|i%dnm%E!a%8 z5QmpHK-aJ0ke*#2O-+e6emPib*Ky0h|TL{g^|bze&Mf*+sb;cTmlFV4(0?{ zRYP56Otz-RkzK}ELxO3o4a^^>hozgJ@-NA&R;?ONt%)Z(gdTDG!ub+KqVGi&<@`WA z&wQcSWlnbDiJb>DIEF4>y!Z!5R!NdRcPEu{A0G&3XXn4kXqaqmW5eGn8aH-q(KU`i z_3YVG$aiA!iXdK$B89e=7Csp{66@Bl2aN}#DpUY8fT|n~3md@4LwajLF^5}$3>Ha# zAtu;rV%c^Djn#;GQzh||I9V)0YRQJ0K*PF9h)T@W z5L6fqB@nBLo#VZ) zcp(#<=M?tu-;aX_4+_h!IQx$s&Axs63VYPGY$;B6l6Q|Hc?7_N8qXfJjeTAqdxU_7 ziA-Y6^E6@LVkT{nT;VxaR@coD5ywGwhy8Ae7%r)7DU%mN_0IkiKF4k2Xcwmo_w z18$#EFU^s~;VZd z??ZZeI&R*)DX38P5eS8oCQT}H0A|Q#1#u?agozVpU%2y1;qc$N7~D*;gl>5YRH5h8 zNdL1cLAZ}B6~CIiiE43hY^R->nFBRAgYo0X3pPJHT|q%5x25Jmn0o+QLpHXy$jZv% zO`<}{5tAvaLM{Q=+uL8EuC<$7@X=F$PQ>M{Mli@F)uQ+gA+XJ_p@6U4pCkTxE(?IO z=r+ppzUl-A*2tM!!r_HLV){#J<$D7H5ET`L0|yS^#ful{)~%Zmo`{Kw5tuL8ATZbc zmtW?|`X0Fiz}vs<_~VahBODye9w(=m+I{^5?$h*O+gce4WNxy_DL7?HB1ESEOE$m2 zzKArT^;0WaNNVgumnfBn3g4=L18Zl_p6yD#;7iu^t=qK0NCyYO)Z{o55768@4jn!$ zw0uG?olhYrQ|5VQ`9l#_Rw)tT;RCF!tqaM9uL4^O4H)REApKP?&fm_) zUw1N*&*|GD(F+$BmszB~cF6lK8Bo0IRk&*7s3v{uL9as}he&CTP_oIc%$yhYEXq@+(CCgv(UJe>M^70m0o!CRzDKa;0L$OBS` ziX49-#;{qaSau2d!F~X#&b=JladUGU%N{PoP8Qqw@l=O1G~jNhdybdq`Q@GuARU=; z@9y2teEs}P!otD^(ct7n4Ce^jbF!BFMvNE{<~)9U1iAH(+TORpfI&Xhw`%$BgOIZ!<+iMDWC}E>R};5V}^;I+>@} zI3CT>O5Tk`$VItw={y=YYXiMHIs+xw*oopaLtf6pTLsAD%vCumY))7*z*h7i%L3)7 zBrm|`=}w`(9F64lUz;{;#Qp<8&@*U=DO09m^k_#kYG|m>>%QnVChiFbi98_|h)i3^ zR3)lAGwxmB=`d+)<{d$V)RBygbVP(7!|`L`2n{`gJ9qCF<^QC;yoUwf&c%|&^I_hx zGlmZz23y;H=xE+vSye@adkqsej{Oh|g69WnM9-*60vJrh-eWyJVXyL0)I%ITbPz|w zj^gy0vv`rh6F2Y9|KVd^8F}fi^SF2+5=$2^LcIot7&K@w1`ZsEKD~R@ZBXBU=XIG_ zJ@P905fINGR2yoN0C=zAdTA-o;p^iIA0Hq5b?FN7^7G|hKlXb4*JF5Z-vTcpHFXWx z4<3T?W5>a|pRGbIb=5(1iw)6{%K04GP?H28WE@;S6M*>wJCaMb)qH-;1{B;y$64yO(bkdaOLu4OqnsCHKl(9_ zpZg2Ob+r*ftv8I<1DrU8#H5nTTcu1lYTQKF(aXlx29|yLpst>-^!XeL=Pfijk(3j# zu2<#9y$>}>08;QAFwcYy4i61O$KICcVQz{G7cOAT*zuS&q%E11;d$4Kq7MzPb z5A|BL;pq4o#*G_??p-aQtgM9RNly`<5Gxe``vq*4R%R@!T&Rfx;OSuAY6f>7-bcp{ z;z{qH-In0w#p|#nl`?RUJ?!lVVYJgY#K*;;mUbOz*V4qjyML2!uonCF?M38;zc6m% zENogQtO2=-8pwP`O%wpDpw5r(UB`BBf2eBeVBu0Xyi7_Ic1_v8F97?f_46{*u3fvK zUq4$U)3t*K4&YH-u|<5OlJZ_#m~E@;W6DBJ6o8;JqVCgnO0R*US8Bh0q_=M*_QSWs=d0KL#II-ShUqeBctXx zf9>I0R?z#bA|8}mH*YRIm1_r+szgl`0PB%Fh?G>bGBS{!l?6ow1#I)#g{I$sk6pX> zATHr?k=64i6cv?V-pK;a6TZacFNJMRnfbCz@K+0Jq5wE;MKeDyo2;0p(10fLiP>7U z>)_{A9$4|SJ8s>)j^pI4-MMoQFJGoXNkt9%b@kDzO>0*5BuIOnfM+RbP|1zQtE^mTsS7(^o>5d%>e}AClQL0h&tQv(SHJU~KNm{7 zvAR(c1t7!-?p?c%ynM1`(vuOBkO!KLrq}7wuxg-GH;5BP8_Eqb3S~S5LyMOFtYsbWoUP zZmKU#J964VjR+r9Bx<4n*lS&=p{ecEy0td{-!wd$vSs7}aoXa46>6dY7(YqqzaBMJ l0RJ=iR{+(Fe+5v@_doV-=Z58`nt+wz80x&YF1z==U3&6;z7J!jaVF7I2 zx)pD{@rHgoOC&FUAx;|d@hX)meH%@dR z?FRe6hVZm+g*BZQl>a(9_`9uuu0-DxxtW`rOIo*XjT$v-AT~DE=JuUCZxj?11Ze~@ zf+)ebL)8y|Cjqn}3YAEu)}uy_#H?AfP^V5ES_Bg0=jS6TDhe}Z&XgWHbjY8Cu#3o# z_D?tVpv%JFMF3Lb^de%aH8Y+`s-t4$ayh)bybvB1h9RU5f7`L66YcwN`e~~1hO8fq zBY^T3fjo)2dwYB1lTSV=!hBuGWHNlcWC>^$AT2Fz6kTTtZN6W@(N-#qw*tyzkX0(y z>87Jcj~27NG}NnC5B>Z1$1j^US<}}}be*kwUPJ%!7!ZF40q~BkWF{u)*s-G?rNWty!F-#Mp&1{j~_qAfrAJ6 z&kUl-GS6(}u8_Zm0Lq@F%*ewB4<7XU^wUrA@y8zvkLP)0Wo2Q~q)Es~PiL-j!1ln{ z3@!_Q4FPD=3?)NJ`-~xlerERU+0JLqoWZ<#^YH4cufo*S6e%ewAmL!noH@95?HcdD zi|E5D8G8ls*AM`sY$3!F4J6tg9v<$>YNlz^rm(ZM#jRVn@bu|ZXy*DcqPOT=d8JrJ6H0Xalx==hEF$&^v*HOdDQsJ*F5ky>R5zyWGT zDWD#F9MKJ;+%k_WTL_$Fn@{^Khk8}iAlgsI@aia?N%}FL8QzyD2n@= z)P#aROG`^+W@d82?^URU5>BW3h(6x~r^GoGUI7?V0IUwy6M530B^FGEh z87aSe_pT@L=m_21EZXN=yv!^rkNPOTs^OJH;WPR*Zq!Kf?z``zckkXJ6|h~vkO zVd27s(tAk{`dN86^diM)4z>CVF7JhOVJHFE5$z>vJb3V6ELpMyuCA^kEx^dl&Bflm zdogCrm>Tg335#iyC0LD=0G@em+qT8|^XK)weyI_!nVFdw3%jYMU>;HbE?v4{=gyt5 zx3@3+p;oP0Xx^+D-2K`k`1o{~*eT2f>!p%ZeFs<)3?+aWbcc;6OqhTrix??ScHG{UA|+Qn z;Z5%6i={$Kn^!PY;f+Cg>k>{`>FR zp9*tu{2$wn>C>l+ng9Gb7z%}=@H*{6FD9|e5gG`n*J9n9)=J=4BbTT;lqa&Q>RWX^n6M}BzZQRHlUkl-N`ek z-0tWXUwokm2?=Tc+i$;_I6FHdF)`7FysuZtWxP}F^QlxW^nWY;GKmaIRRLZlwX>|l94Jgo#RS>Bc{3lGPjsZbV}Blo5I`J_>iEHf2YtiB!qBf@ zzY=#$O-;qr_uhjtpT~|tQ0Hxy677L{C6$IcL_Ia+)3|Zt`ctM%k#doSR1cTRNH3}G z(v;?0G$-RYZSky>^SKgnK=n4%Zn02pT<|9W!^NUDCZC^=t`6<+MY|7RDwT_Z(6`@y z3lco9oWtsCRt$y^0I$%m^78V0h7B7gIe6$0JlnN7o z!gDm|+;XwnhOl>(Zr5LO<`^#S>F7hEo!OP&0ya zEnK_h)euTI{~dicB0sguX?>D+(A#kC%~k=HbE-~d_Iu3Z|} zc5rAscI?=ZBghTrAn(^-e^rsEG@IPs#WcnY8yg$Unmv2pwX0X#)1W_!iHR9VR2%9E zl1J9~34Q)b#H}v(48%8s=7M-SE~CM7g!^v3Qt3lf7rb0aFyKt0N)zhcE<8f$c=)dUu`(Qs`BH<{Riw(Ewd!_;T zB~TgZXjU<^iMTV39dGtZgunP68Q?{W7BTbZLfy4y!3>MNdk10R;i9wc9I2W3ghX*7 zeVJYow8v&;W*~I;F6`a28&1x3(4%Kh1Ox=a*T>t;p_YATaQ_f6*V@|pU0NC2IHmIA zk3X{HZ)&L0P?-f8R!fDR4W|<{%;)HF>b=-I7E70WjYCI{;zsn%LZ7~(OfL!Ab3T6b z5Wj5PAjqnQH9S1pp?^StWa7kkoy<(--7Ds-z-T$HfKY zV{5w^Sf|QTQ_^tm>{&8wH;|`xODl!(#X+m4(o$0p6?GmCwQGaaCH*4j)_0)`ISI&y zch&0El{%Ix5kP;64eadfv|l*`8un`IHUp2GIEffiKSz%o!Jg2)IC0_xl2a<2;Vlu` zDBG!y3w*qN@!IRJqf2KmkQ(C2!4minQ8MqtlV$w)@mRHLRi%xGQTYO(o96tD4p=p@ z`#Df1lLs|tyhz^~*A&*$mxIqI%|8Y~enlHODIDf$)9d*%$Jre)&GZ&qOPxKW6?a~t7%LviTnQJg$^3JHlx;^5K*!n2%zukGZF zE?v4|;A;a!4ylfl6GhBYmFC(U@NrPWjOS?fh4jTyx+b^26v>?a`IOF|-zx~i2tapG zlEVKAF?sT2gp-%EW5*6roq7)JZ8S=J`VgV}4#TpB9o`x7CQL{LG=8NiCj6@@#!s4z zXGw|JL!QjqwQCV^HnNC&s#Pr(7MAGI+Xo?|N26EI?y$15EEJYzmk6SvQ2X&Ea*z9q zC>SfV%xnl$O?_u`b&k#6Z z06KN-00)O!cq{my82(nU@bN=K!?1nZR@}ZDi_TrT;`Kp;g+6z5a3uXL5qXGwqi7)5y?Zx~ zA3t7|EUEg&EDH4t^)!K7ou}pJ=SVjEx>Ibsa`v2HT4F{5Sx5<_qL`kEQ^$`A;(c1S zYJ-rFF&GjQ1baIh+`MreYsg*PzH=vT-M*uHe$6MDV@UxS^gMY;NQgNxKKs$5M^%06 z#iGguaGHE;?sjP3zCC~CnxSmpo?X~?=%ip)#K}Y05q1#vIT=MPiLT-O{qjXjoG>1< zX3P*S` za`H1ly4#A~U!}y;CvmXwY(}=kp#ceCA#LV-4`)GtMA5nd+X=1{45Ovw1T~MC=^Uza z+MIiuxLrP9PkxjNLkqyh1*R(>Aa^i?7LW)-rYcbNq~Au_K=z>tB%_WUJ9e0TY%edb zJa$og_X&W1pWb9F55uc_AH3Gr8~cBYH{7U5pbn0;*j|tp%41)avz$D;7eSqLa=NyfBKXQKHMw1qN02=i~v+B(^`;k zo{jn~GHGSbPN@k+t}QG{01}xATGw>Mz_0g^!*9mDHj43ZSu_#1M7Yl@ff;rAcC27> z?4u;)(|4Jv0xMRoLqOmltR=Vb_{oz<)C6K>fzNAS%K?6V{+KdtI@-2w!J9e7Fg++J zD0%bd&79NcBo8x^i$nFG&WNIKzkb-heY>b-3>`WYTefTwUKST=iDwh%6TDCyrMvc&?kH2UFt7%=>n!@P@uKk{2cT)p4z|2IR{nLnM5Ti}z zfBLCNU2sD#=cX830zG~DG=>cuh6eTPlPmo`CQKM_O*4jzM@uWhI712Gbz&Ag*DrzD z`52_n_?`@(0vYqxAbag@4fAPzySu`1$A4fuz#k8;TuGu(e}aXD#f7AVCy0HlezikJ zRu)pS@?c?Z#zrncL$BG{*J?84jsLMC5-Wxo&!42z1;eDI=M@T5?RYrf#GVTmped>n zm8_ClNYaUso9Seqa3fc%R;|QFb8~Z%Lgykp3pX$@u<(F@fc}^=MWj`@GtTG&;2d)Y zZeZ=%qX!f|zWh`vGG>!=ktapL9d&U<)~*3;_kIVdqb+>Az47~%D|U73)@?y*N0FAC zfNXLVxfL)cD;>9PM8mnWCuhr;qii6#h0zx3+OZcMV@rmyL1biPppA_UX&mWQ4-XG6 zyg$^?8KP*Y)lSKV@=v?M&1EM1khiun$Lf%~=thnlDFQVP*tFn#XEh&Qwg)zeFgIwcIwV!33(bEh)J(pzOM7EsR~cx zlc4#gy=$J)EXjQu;{1}sx^?UB6QfM+?Cf@sVVzmC=8H|W&m-xX#^Wq%)I~B*x6zAS zRq@;z8)0TPmod3>nr#C|-@Nh+5fT`tEk&hD$;`+QHy}+(NAl|vQSc~T(^W_xomZ`F`vP5Rigj~LsEn5~Q)})0=Q@rp{Fze>w!-sQXPgHk!e`1!D zRRq_X+ZEFiql?eUyLsVVLMjy}=W?T?qZO>$xSN`r3X+okH2U-B&j-J&V&le*;!)U? zR1w2HeJPIVzz_o9*?A%%A;DwEs&(kU=@jzM-WETYv~q8y_LX>PU*=PUZhad3v z+iw>;P;P6a7^JutGjZF>`D@p&ciFUQ6RuvpT7>!H0%VAJ`!iZW?2_i^3ULjF6ToGaMD>e8 zB_F|tRNl2EYKD`+wN&T+&4>4gl5}R~KR=~NN6vT4I%w$$^6jC{u@reuptz8Wy^{R= z5~Ke@Wz4Imq)u%v%#0m77GD?tpvFP=gp!k!Kc`6{oj7r#XeM)VauRU`3nC;WM4K&T z{loD?h0_rRi-c2E%E`XCVmA#g{T5#jlX#6Cjm~7WYEUH1OFuL$3_TG~vA*o-w~~h= zh*i%Dl=}D4_U+pj7cN{7?Tw+Kq0j#;PUPn1Cfr8W)g^&f1~as{6+-xuD3ff{{4W+R zv|dVr;wYE}&vr{$Al@0m6J~Q zf!R)?pq$)Xue&iZuRz^ibAwh0Z|7W5$q#{-6NXO4u`b;Jwf^RarXAgJEgE`+HRpJ#&g14l>P(8W(*_!4=UNTs!iClc1l9Xfh-Rw@fZO-!VmmpKKscXAqPV_sqh zGrODY#&WH?6jW+q*l4dRU_Cr;+_=(q;q)j+zWf}44>77qQeuKUBH|48?b|QxKum0` zDBa3rau1;{?}3gDK>5)5;t!)OBF zav}#*#ekRm9HKEqwMo55B2J&g#!bJ72P2Z6CF@kZBqE^YPU@)hk%AU3_zVpiHsan- z#hb&2cl2;?(@`#$@hafpWFj}7iMqy@yY2q-?NY2*z6>oW!uIj@mIeg{z0#?Z7hjYg4tyaH z;B<3yGV%}ZSM5s{jUs^IZw}XOReT;<#7w1A9T#ccx^+?8(E*PhJrt?u^1|H0Ts*wz zLS#ciClO{!O0Ws6j{ZGo4n~a{RqpFl1V#~nkB?7jKVK#Rgmm=kG>)hZ>1R{-Hm%UO zX-hnei@}YXe-ysFPj}Yy3Sp8{q}#Eh7v3Zx_wDPCdUeGs6WER9rYwHJMu~51(I=T_ zXc$ERdUTv|yznzo_`!X9y|ePA`1$9bA(u%=y~No!DPxG2&OwzhWY+O0eM z{riY#iCyYA!Nx{pUJq-|brfok$Y8ITF%+s?036!$OSkm^7tP(TUA=^!zJ5qaibroB zU%_ZUKR;~RycPL*Ik68Ua!-TBNH2ZbyHzJKp=9u6S;AW~Vn|~2xWmQAeZ`-=J#+=zRasGT%;d2I!nl^{B zKn1CZq{6QfsBBcJ0JtBYb2@s$E+;)5$94ghD5^{VrV0h7P{5-t`RRcbHjd73ck0?ru9Pa^-Kz)s z`uib#-vJcp*bwcj1hjU=RAGh*6UV{YQo$Q8m1m5c*5KFbY~Zl(s_;Nv>pTa!*GGi^r3N;8ST>#UjO%pF*Dk*|31#R*&Q=rVvK~Am`&r(uZ0Gy=^ zCgSQ@17f-}5x?hwyC3*BuI+LyvBIwqs47&d0JyJ)-=g)B&v@Onws$PJc;%{iA%|;S zSJvswVD{x7Xy|W`3JZWkeeUfn4jk53;L+1XQmHJie*OCV`V~G2XEc9)*^}uD?g8RN zVIj2RFD7_w(V|6#uUBCKaPgX{62NL?lZL7c+!@FHpjCyx)~k#E3sEfqBcoaXMn<&& zjErgl7#Y<9FfytIU}RJaz{sc;fRRxx03)MX07l0D0o#gs*l>d2@&Et;07*qoM6N<$ Ef)EbdV*mgE diff --git a/school_data_hub_flutter/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png b/school_data_hub_flutter/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png index ebeea7195f0281cd6d287a1dd8684ed6298a4b15..169abcf1f368bf4018cf2fb4af25e98aff0a36de 100644 GIT binary patch literal 12508 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­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 diff --git a/school_data_hub_flutter/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png b/school_data_hub_flutter/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png index 87bf36f781d45e7b592dbf45ab3732292dee9799..262eb9c6ca737a0e000c128f9e7b0225a1c62452 100644 GIT binary patch literal 17317 zcmXV1W0W90vmV>FZQHhO+xCuabH~`RZQHhOd%k(^xqVK$|D>x@Nu^SF5}_a`4hw|^ z1poj5D=8tO^!x4ouR(zQzLhp@zySb+Z6rkmRXhMMb-@KtR+hgtGFbpo5xvnx84V(Q z0j)2^3dLlX20N4aX9isk0?9IsSjcWj8HYMo3nC)sRtr(E(JEIdp1~lLiqf`zve)|A z3<7Wk-1&K~uea9PnBAw{Z`!VKxI=^hsVi$$R+pYZH4H^<`=tP=X|U9QGz{lzk$Rz` zLQ??LG*~J@YWoWeN&QjLV5tEsYb`V&4MIc*{=e%YkkCNC&KYTZ5pe`}1ad?+NeIc` zLzgm{R84Pn3(i`kJTSq?8w@lwvci^{B#ty^3qstMAU$--!}~&3XV+9nYCtQ1qE}fW zV&dGW$VjgcJ~rk(ayXI$39$_c5^fWwH6trTxCrl*|9XmmP&FXW-DS3*QXQiOtO zz>^kF4JaHy=^L@=Gwalr_v^;S#)bfw1%g;SM#w+_Ad}4&%G}%>1r2Tg{po_k^PZ&H zb|?1ho*@{{9D$c%0w$TqT}1PA-QF z^UF324wu2>)?hM+8@;WqZMD`Am@k_jzr}8Ap8t`NsE>=NkAx_|Ra}|XfYcvTFh^HE zWv!68f1z5J+o#P2Q!Eb8_P(uE)#JMDTO}qbzeFs`I8yoHa zPcQ+qQRT;Z4Q|`_EhH6Rsa6|OGC=)W2lz!IviwTBf-IdA(b zHMu|t9*Zx^xCP;v1L9*d<}u?`VRpgrV&H zJw#dX!P;}_J@!k$X2OJ!sA zkIG|eCYya5;Ths0Km6XeVVu1A*Y-FESnWNC_?w?rO&@R7jOocsNc5KQ|A=&Xfqfjx z_K)ZO8CKW#HNC9pq1aia%2|X0{MAN8sJ2gd>jzPY~r&8N^N=nA4q| zGR;BmuGdxF4mU&K425@GJyfV7r8AWBuY+h`%aF5Q4V^TIvlR(+6bXD%cz;>+w|-=` zUV-W_6yEA^N5?U4c~(59ck|4iD*-0zecX86`)8 z@bfMxC=j9?GZ2eT@!9G2P2sdfr1Znc`A{x@i<)w+N`?D1c|erqJWLc8hzSPFuCYIH ziFo9eDnkobgx)_pMXx859uaE41n2ssq?xk98FIsGV-meo_D?PW+~HiSf2ik=GoqHbgBYXNd8dN3QIiq z*9qUKI`WLT6NZ8P|CU#g$}2f5%ZMSM;Qq=qef8v54&ub%6}cT486(h)1es8M`4Kfi zVV}Kq>nfM%S0VVL^iWeWbGsZJ&n?ah`c$2335(T7L7mf5l{FOTT3qc0M1BgH#ajO! zH0BD^ereV33-|itQ1%xV&|&XS2E=uOf?{}5P?2XCr#Qez4tGh9Ho_9!(Z5GfsEn9m zj_(o$U|B6m(dP~Ff+tiD7hO_YqnLx>949&gB-%r5VFq18^Ih*IcuE&JCBJxof)$c# z-pC1!KTOxU5@LRl;{zRu5ZfeC zXPbo)AjoHHWKpj0tWp5&gn01!7Q@P12pN0@4`$Sd_eW+tHK=6%<6p!U)ICsiw3~OU zCFXlug`klSQ3~-XafzKqhg%c*Qu=`20`DOmt8B;OCb~?kD?7RO z8d5WE?HVr%#vlaPjwD?eF=qXC-{D6X#gSP{m72^PoScw`fp**Nq&7?^t(rW}yFTxoM;a8pD_P`P={ zzo|=D0x-@vO|aGmmNsyWe>@>a(5}TcXBgjogC&z!th}1Jhg#w1AbZW=>t0p8J|G|W z%~h#=$!jZ?E#%EH}2vk1$t0<6F^6wsO=zJ6?e_nOz3;m$si*}>}2D_cI z{-jexKW0&SxO_uU*r0GcNfw<;o96nzd*>np{$<&aEhC@;^k@`c+FR<&D(cPs^PFMu zt^z89tvyg@6K7sk=2PmLm}OSp!Z;OSMHiQWqBFZH>O5yvSQj(ms+%aE500c=g)Tvq@ZsF;agllz{03RzWR5 z^v|Tusnf2mI+@BMm(s(DyJ*?@vl91r^w%vh0K1jIOK!g}bMu-Q;S!`{_odo#S%rY2 zC$wa3Z%71?x|O->DWi9Yeg{gMN=Tvr+4WF;oLA?L$r*A(qO?QvHcFK$4wM$6eLO)V zWD3G-yv=vDqZBbwQNd>V!!g+v=jPRr=SDF`IUBv7j*P@@1?mJfXQSYqt%H;Qr3#>G zCqH{pdORv#iIx}k-R7AnEfbB!sgw)wTz(Ob#A^IdShO!}g;OPImXO@uMx5hry8u8c zN;-_zk^v~<-*42)`ho&cveeok)Rw(YgAfG()}R#-5I|(Adi~}(<*Q5TAG_Sz)|M}u z#dZlQ1Y=uHr*Y=N9Ay^0Q2m!T8@o+NuK+>%hmbyT;9ng!&gOYO0kgiYkxeY-hJ*@f zxF|qSSB-3D`c-C3pm|D6?}UaCZh&x&Uf1m~wte2Ozq*ci)MlA0)ZgXx{AP*ZUr6Uq zZ4%NC)-KI81;bW#NSYkiH`u*q_C7@9AAk;`w?Rxce%o&5qw9t19~K7we6vF@;eZnru7QKJx-J#(%nly17P5XtYHrrN zXIlrMaNyW*|L_n)dJ>*#iHeAVLUQ-~?8aX3`Mx{7jg|Oku&3Oq4{C&2X%lk!m5+9^ zfXQAfcQudUM**RtO=Jxb47qY~dSAmreKI9R14Lp;zSZ-AY`w+a{!*i%S7MSzOqU6N zl?H|oQwqd@F`V88WYflp1;%gJTcy8SfIi$UW!O=VDkW4*R1{P&3P3Wfy1-Gu83pAq z!`4X|Hbe)`8{M1)m({^{d?5EvCN+K?1VT-&!{;ER;aG!4I3r%_D1o0kY|zU1!#d{n z*fOTpcwyY(20Ox^H>`FyUy#3e)$jTbNWthT{jC!B>|<()Ql2a2P(r5lJfkKnHY7-7 zde*M*F*%M9+1P=B-fdFeThR*1@sNiGQ5PGoo%~K6wR}W8JnK4dzw4-1t5WIveYMfN zCwqPy5mL3$d`5of;U#;6ZT69F?YaHYd(cfLI!Q-GBVe@YDU!~_S5 zrJr(p?7STBkl3Zr3XG;;K4SPi!{^=R4!$ z8EUu~>;!D*mL%zqlJD`lBXly`M?k%w36;d%m9Vg|KEZ=IU$QnTt3v!$&reqm!}&|b zXs07OQb&0W$WnIFx6LJq#cDHUv+R%L8aM@M?~VyphO2i`dWB${+B||kadxF{M=G#n zI&UFsg*x^IBpCtpB64i{H@hW{P^doo)wgv{Z^=b_giH0cXDbW zNCbi;896!l$M+i9=nHkX5c&_E$IaIp2GJFCjTl~u$sBrd!|kT0U)G_DX|*D(k`H(J z=yzb^t`tQhSJ9)FvpG*aGPA*f5gxLHo(d3s?r|#~ZrlX6u`Ah{gu5TBG?^Ac48Uc3 za2LCPwa@NIu3vvPr!!R(WC@YOCJh{cB3x@jTO60A_gXF=?_&9S+~omTcoFuP07V$( zMB~{K1s#=;m=_k(KApkB@zmnrC5z~|yL1SkTMjbiaK^rFW zTyqz`SS(JcU?1V>VmIu1lO1Ho{S*n9ciw@TzpZ;Uz^dG)_FP=qvb_lEh>F)o!MUGn zz9L~0ox_qBn8u4*aCq@o?HZa|< zHi+lmECM@#z>HRh8o|LZA|Gs3yQd1rXvSog@+r4oUe8^A2;+OIWWtf}0!lvSRB3;d zC&sEmE$6;Y-|a5tdau{48816Z6_k|xv!iVc3uR1uS$hhzkeTR<4L1f;C}d_9)V_`W zsl3Bw)SKZ;qq_>jP_Ba)IpA=}J-GbF(e$r_HP_t$YTxW9(@Xkbx`-SDBd3|G#ZVtR z$#cLf@NLsg9~ev28;^FVIgLfF7?fk~@g93P{V%w^e|5PX4hJbwP$yik>&pA?lTT_D z&w_wnm>252H_Vud*_6%a0Jng>j90_=Fp!u)aMzoH<&o`IQ*e`_QN4?#Ru{H8sV01* z&}iG)?YDWJ*XI_CqV~ZR#+7v59%#N>=wasR$qSY&^bbo<6fV>&ZN62r_E?+!g)A?q zM_vdYadoo1h%9$pFSEayBkQ3aSI}t@C-wqbwTVpYoiAI$bki(K>2=#x%9=P$6jUb( z*}V1gGJn{O$7>WEVAU0`hKjjkyXI{-Tkk+JOgGG?v&Z257?K-uPyZfaZu0ODz>+b+U`O7WFtOUM z7x6GLw0*?my}a!P!84eSqXdVA8Q*Mog~!AUg+QCiv5P2e-RZ3cf?i$-jFuB|fx5j#g%GZSN+rZ#NnRTAw4J$R9q*$O1W~0;V4A=in zv{;=#Vr9JUpS`=E^;Htg^U4<;OudSsLp)uqz#EUmnkKkhZ))1&B|}%=&X)muU#y$j z>~tfC!Ci|F1_+Oi(IRxyv)Wqu(PpvDU7HsfUzF(Iv5$erZ+VMSwyah&2{2P_(49oI9i1&E}bFwo_UH@ob88-fA<~)yG zgO&yTb?fP*P@LY>*^nS-g3oQ@Px$)!L!bqx==rkQ;cq%0V&_d5B*5LzM6P$f4b>BSo_hW zXdGJ?J{DEhyo(re_r6o76c!p{cvf#3n8;?oEJGj!Ncl}mH1=|r-C^c0Z^hT=C)s`EM73^5rc2e(kZ5aKX5?#B9mEcH1g-YBQ2$ZI==kxI7?iB7 z{)%8q?EK|1BB>|jbawRcM$L%P5&RZ|&nZJRE<0Q|?nZB6w|0nQwB%dRX^6O?$9@cT zD!v3#SqQoo01==%AJ2tuJ3``wgtb5c#Y#9GcB(Oys|SCP`3rK6_G1?!>j|bDCc8Be z<-2#eBx;Z$wAwu|I2EhA@~C4&SsowbK1>B_aTN)pWi}r>Ik` z@k1z=6KSz8Z?UKH3+fI)`Bg}CK|fA5ryoYCalzftN!0Fe-#d_(;VQy8b2N6)GHuqt zTHB<@@FfJb04Wdjl(g)s{>+P@(pk}O(n3xo*gRjS@4Rq&L*y1@#a`v2K|C%QDvk}= zYLUH+%5Hh2yj3$-dEP-qwy;%eE#Ilomc|Zk2IG#eoy{~yK(0#ed<%tSICp4nfN{0; z&OMvM8_&~oytoA^g;Eilt*ezH$6G<6B0j|r{^R))!9?)%<8-qMolHK{pU#hWu2db} zgY}+fX7a$&H#TZ=CN+&>aPGk)?(Yryqt8;q0T1O0z_3v4sdGPlt_in z_DcGGg(CO$oN0XnNt`MZAAozX$7kjN@TY7Ky}jFmCx+rT5!1ix&CbxTj{=a8I35R# zwY4>siHRpG&xybosXl0Es4`Oyf8~*9-8;5^L*GKX6B)$_hx zNO`sh5bvd>Q}hPK?J=XHe%o-vBRs zbuUJj(HhBjS`(*b%bZ z2^-2lm@w&QjUPfkV9z;Gw@dq)zI5+y%6%4d5G2QM#luvTbQ>4HYuyzo)a*85f+EHl zRN$q^o160qK_u18xMFd6!=WP}A=2-#_WRu+tfzAC@|vZ(3Rb-m@TQs1YRth6q{ClKoKF_}sqbE%^C zBG*Bu#}|4?1guTNFV_lDh_;5wR^yEO{XMDwWh7Zro}jk}8;hOF9XOWH!}@q+U+3TJ ze`I%?ZaS4C$@@L}(Bc?U+GeW^iRqCj@vi7a)zrw8W^BZJPuE&=hk)hTw6N`1pb79P zEM&0Xt#^-t0)he=Z4MzGua=N)wVVCDeS>^QO#`?aZEl>C-TyZ6P>qAGAmEt+F|6i{ z+)x?bdOTXBxKLh*za-5V-KM9-r+DgP5Sbp;HMNWw6Au%9sqswfw1!u10!=aPv`c^$ z_fvyVhn=u#HCjdm00-T^zDAt#=dpKUr=Sk3Q*f+~vZXAl%6qH!56A)dUaF6Alhl;y zX`kXZ-p##&^~haOZ;YMP?@uwZVs&+q8CrtO4*yZTCmp*uAKcG2snq_tNSyX?7 zT5cQZ*8F@6e;TkGPXL3@iS*?K)<3nhw%Bl&cyCNXozLPti4|K$*PjU4Yd}9xV@*Cd zj3*}JQ()$n{$kGa)qin%Q`*tgJ2VB{^#O-)I1tD)sLK)8`aoW1yFn*%#T{JHVn?kT z63(*H3suv6(dDaUbX%Jr9||M35{rv)E5XjO#Jom*XiJfzdlewpn78PPm@4NF*p82? z@v%UaGvoH8bN7Bxlj4m8E>1obK0ioqPQ*%zi9Ve>9BaE#Yy3f{BhwlTWazQvfZX|S zR?UO0W!?R5#J^jK=Wb8~#N{Q-{Xi^*lRj>Z-d}0YUgg~gk4S?H(B<&z7c6>Q^~Wp~HRlO54S;nrak?QnNGrh>zb2CK*Z6B!&Hr!S|`JJWbV zS?g+VJan7ybgKd%EDk4@4=~_#c?tbVm)b>25zT|m+En$=Cqv&nWFGPm*@YOAou1?Z zkv|Y2^6-Vn*8$w|pH#Y#pi*?P7>ocjKD{Hll8TedK(?Gukc`(uXCO?u?8rX-tY!it zBBT|&O|{q&YuDD0$iG~*vYAc2{@+S6S$wbo0pAwKSEiBFC{wQW9YZ}o>*3Ijkm(P7 zLX9>BYoNoxUtM?p@P?VdsWJf7e6FEFaf4#SamG94$qB-4aF^?vC*qZt5$XrGPuli< zTMdXn_*XHI2V@X_@*9n}0Tt3~O-wiKR@?141jhe}a}wOpBkmkc=!W+HRHz-?KXF@Z zEu$~|^@7Ur*(kI&*Jp8HpRxp?_R+J0Q?lC`ESbU%$*~EG!x7dR_T}JMH6G?RY^MfE zInGT1Xz~SYf(UX*(bT$VYkhuka24M$<7)>`ITTQGk!1*AT2Mx;bM7GEtKufopc+aZ zOJXGP0Lac6-&8FQ5ErI@yqsVHh?D;tDy?2!;2S1K_N9h>nZs$dVrH}6hzbse)4wKC z{NiAk#OK&nJBWB<3_UB{g0KHC!aoc(RmT7O9TGIKf~HCW=I@l@Ny!D8M1mJSC%8S- z%~Fy{bWz2fhIsv39PH`oN!VN=xq(GE3NLU+77NkA{xRI2pKCIGA3r_1>1?jpTi%X3 z&kMF}UUc$SQ^aclZ(aTt3#Z;XjZO+`cqW<@0Gprhyj%}L`l?2I>BxnGDsmnj7xt)= zCHH})624l_8kg9-x-C`X?>5dC$MaLeY#yW-QA0P2g>K|_(8u20T>?R_MoY~-Fc)J3 z-ii;k$I>)p}d>YQ2tFAUD3^wJEbAdLkR&$xz!qM+;B379mh+QUQ!cpl-%$ zlI&r9>wZ@_Db7E*b>cI5JB4u;^Oy0#mme(?JaukY6CbhkLpkF6L(Z#@7gnw87U6K+ zx(rVdV?r7$*IPalu0eV_D&f$j^29t&@Xa@?k;0EL19PWyYG;hK3}+zs^Q)BV zL&n$b+A#m(68?rB%zYp_Ti{>fp7+&U5T7y|AiVRh1M_-;6sSg(w7R_^$>H*c7K+0Y zzRx0NbK=K!_V-(Pmq<`CgrljNACxYU&?Ep{UaFaw9Z!TXk?2V>mC0(JF)7*a26^He zjMoQr_f6lm14xj&HD7{?*-;B=iQ_r(?cN_O_hVr0Mxv8R0!m6>UHEKLJJgx& zJnZDqii!#2qOMk9YG(fH?5bZ#L8x&1VzfR21`!~$|K959^#;3~H}h$=kE(UmcdvCh zwY;R`7ph3>J<^$oD>ipj@b+H`lX%8{O6hm+|Z0 zoJL1T5bgQ?w?z}>_;?sDES8NqWwfAY}|@@5UIF5(w_Te;fzs@%;5y&2AC z^MzNNtko%`f6K&ns;d+YBfCnTp9fuQRr#0hx8{1-)80{>KqDyx{~qDE=a}5LOY-Cp z1yF_keI>z!IQ3?XmpZ9)tS^He4jxyuBr^6Vye?XDM%{BXobFr=O#;XhTJ_oPGa zc@K^}5YI%q*V)49^M#wxzm?#0&iiVZa~Qy~-gC*~c{@c##Y)Xfnl$sjukWk;6zK7` zCMJhf3cInG61@xmc%ln6tuk^i{eAiXgHx4GPWtFFfO$^o!Y`NzAfisXVm+g}(O^p2 zB>-K2j+#s-7@f~8a;!}r%wMjz-ud^0zon~oZkdcqGeF?VWM}SGy<$60))y1V^gvK$ zQFq4*8$<(ZAet_4*l8wntRnmryetjW*DD`+CW>se9dH2g>Q3cD-U-KS;reAw z-V&h4C3O6u{zGcu{|2);uEYN%#QzEvPnQ3nEGq4|utiTB8(;Xl_oo(kr`dTJ`(e3b_&VHN)2yXrVtkmnnTju3{8)oQlEOiYTo_E{X1Bjyw|?Mw{6O`=rPlDO*% z6c*AeX=%vUH%rPEc=!BIuFNn_Q)l)Sp0@9M43^D{Y-{?@PZ>Ve7C%H{P~ z=JOlkqq^$7e*9G#<_!u8+94zI5jlE>M(neg!2U(`#KoGfFqep?)8Ok^$Rj~&_=Q8j z|52S}kYtquP!hsd($S0H9N(2bxbt;YELYiNiY^v{Dsk?XCwVQYT=vKN3yk}K!ds;9 zzUnhyBndW>JcwC+vsW1#N={j|%CtK-itT(HX7s$-){5nh*zvs!gDzc6fZuw^k~j`%eY!X8weX zOh>?)>sg$rze6M#RAm^ujE5CUa-2W0`zL4{%f@KeyJ#o>Pmka2!vpeuOj}3CFLFQt z!pUQQ5E6&eOC=mCIXSuL$9WjKh`K5qU)_Dhbo%e^fc$t_wnpr4Doqd;0fUQqAt1*fQ(5^4_YR-s&tW>4>>w}Ya7SFUp;MBdpW5k z{G5*0#6VcF1+tiNUDa}+1rNv@ox*Vg&M|luK6>S~sbHt%5+bqYQe*W5A8FI}(DCCoi(UbTwIrql+{qZb*Dwkd)hb8nERz*l6g4tDGRwi+pJo9lYOz2R67dqFll}8k? zc0yxCC#K=RkVT8rT-KOzXqGk3JGukw{MXWd_ZrRttf_wJk%j|_SUkAV8L?6rTO3|T z8XPW%w%>k(x%S8*RiVQQaZj}w|Ey2WC@CE88ao-Edz5um`Sh?zTbK%kl*9eFdTy+0 z5ZOGQI&DDK9hSevU@|=|CTFLw50P(5+o&IzMmdCKyEidc-#_}1WwX-}w{$uibf-&* zFig42tJU?3X?jFo%s4mo^mrv9b_N-(Z*6sTKcN?Z#copsLVa+$dQ(R?x{aJ2jEa#k z7%|T4?Ddq~biBA;OUOP=LG!7&UK_$R`!KQ>b^|uonG9s5`s9!%9Gv%a*>=O&f3axQcL{K0XTL1wgqkZJ0zsB3*vjrYDI~+gPaFet z`}6H27dAQf?rB9oD9G^yu})V<=XRXBW;aQmZ;la^(}F9BoRATbk&%(B$2=)UqBfa| zJxEk`Dc}?&Pir_elYvb*)B;KJ&6nq@?t5VwV=*O}n-u=u29A)9(Iya>Ll*=fUSN=zR-6B?%GUR)b01<`(mHUE`OGiL4UG};x96f!>pI)YEa1B z{ScKRnnt`CQKn{7=WqCR$x99cNmhOuT1_HMVbMc<-ji>kpJ^GNC4rQzic+X+SEB-Wj(HXhDNYaloUYsa^Z1bHM5|1(~=Lu zMjHgwxwZXb2UkMS9?f9x0&f*HCnUJ&b3Uwa1L`)5-;`tWNWQHsT&!QpbXPW{ly6WZ{GAz^Z31KZBdjz@^~Va+^OR~}v? zaNdxzn##&_i7Z8(X$&Wk^pR&Ltp28O4!ir?6W_<+vBgK9r(YRw6=#3B7sKZtX*!!N zmRi-kn|j1{f}*05T``p>wHP55;49(6L_;Qs((tk#oW}*FImNX?{%WRWVz`ai$|jM| zXE{3AOh^7r^DQ51O|GJ0RUUX5+!*B&|IiS$&3Kw4uS@moLMiJ&vX+5&kCe4~nT^!- zPEU<-;Xm@@>1@uV&0lX#r#j>UsqE7uW%ok_2#;;)6c*mJe(e6|N*7W?MZEbts|i#@ zL=izJJQ5L8T?7PmanJ%~G2NnhY;aD-rCydvlPp7qB`U*)-tz#7Jc8`lbP_{+5OoOF z0R)hh3X;y>zbub}fO`w}u|m0}qpb@7)`fWVt7p;teZJ-6xy!X&F6VvbkBlH)n(_W% z1jjEZw=nl(QCZ$`z#c|AjfRm0087K1iM=ccTR;fNwtkbEkIl0PI@_XjyFNliA#H`w zCXgAdoqOM@PUw+cljgz(A0yikC7q5wo;Ckz4Cl*QvxKdh=Gw~zX!c<->Qe^F)~l-1 zVViDInGZS}17|u{eioS(X zX#`NY;8~CQL3CG#C-;nTGqdaum2z~Jl&qtd->>}Au|I)3L_wiw5i^-3o2G()3B>F# zGS%?}^j?2X)k-yCV16ZlgEpSu zZ4%&i6UL_eFpR(pI+h+z)i_W7)TWO2kyY}S8f_4Akts*HhD8=VTD1wCtn)0H?kCA5a8a#b5!kc zcUvVf)aAaYmAniFy$ah}{z(>lbk@+b2~S>jSa_{oS6YR^?2!+-yxwT&bUM2Ud4YjI z$!Td1WpTfF79k-a4o1h>JVCJ!03!tFMF6ypmt`h^NNwd#U3Syd6!rYnn6l>OOrUU_ zVX<2zy%lxvs}jY8zK)2Sdibi5aklJ@j095;e~PI+!}kQ!0)Cs-+JFUoCMG7Vn1>qu zp1jZH# zV0v-lpgydon)gCG?pzzue#N5d6pIoe6dQi`*2{-l ztAuT`zwcZQ=sdn=D$1=96Z`uYT=24Ds`4nEBdTovt}-S_K$QRwe#=u?56d(g@yY); zrzkDl0<+wTtOkmG_OQ0-2}aa!=pzKQb5)#>{poeyI|yM5+ibrx{Q{%s^)KInJVXH& z5e?0Zh4hy{WKgw+BQ+o2_egLs2<(wSsFWxz(hS8O`x@N2m4+KqnRyhoIk-<#DasJ4 z*9Q!zqj>D4WiY!Cu5U|;Bm;2fmSuquLQ@d@!r)D*3EKWW^2WojUt+m<#0Z{T)9G<% zBo{+Apw(p-v!|VW$>rAk4h>__6vN<_K%M~@Kaq!AveVcB5@qhqNUms#_pyM3@X!Y+ zG4XFC6r-?d&QLm`gam@%3`xn};0HUOS1d#4*LgU&`&#-%buU+H>Ub6u=YeFXR;b-g z%WJgQ;kw5S>d&l0+xRyv(%A3<8=z}`Uw7PyHT>w7@VZ^+h?ot`Yt^t^PYiM7jD<{EB+0Uun3RCZI<_lbv}7>E~;B`7Pl>xDHoQ90W+8Ll*Op7cc*OPUj(=g!>1$iQ1OWo&W(;r z6y@+vyny`zv0vZ)buun5ZSbZDjq`?>+Boy`^EV~J8Oyi8^AdJMPRK9oL*?RKk&V2;TuiZX4Mq%sYWjFQHY3p)*T*a%%b$8Xp>1W zf_OJv=C2HYKB8Ye%*@DU4&O7|n7_ZjdDeWdH`^$vsP-FxhTf#5q!3V02HAVFv$J14 zlX)6aF`C}G9N*Y@L6fVPPbXonSa>d!xF?p~A&j-{ft{(e2I+g3Y!RTmh2N9S~t)r`D za_#&iQA#y)Pt8jdA`I%1#}+|GDYVbHHGSIF^u#x*{k0Fu(XaG(j*ekfUmcabgW(A_Am!5o+e@_Ul zze3%TL=E`^qkBb(|fMU|2afF>cVe$}S)e#?EwWae2mT_TUX zCl_sWaS{X;h`Y_CBSp-Qc3l-S7PC*w4CL)nOp!v`Aj*o%aa$I2`C83j>)ME;wxYhF zDTJ6g5X+PnoAEqv5fn+r%pTVWe$V~VP=khV6YkW7yDugHWn+I}Ks~_@Ui*R8cqYv$ z%)4d3aP%w66!)j;8DW^Tv4_nYm(<|-B!L~gcWB3&C+L-Lm3t*0Ko%s@staexR#Ctu zSwc33BpdQrWWBEpBk5U5LX@yf?|{wXPhX<;{#DHBsfBm}e0ZG+BqW^ya0h+Sm4yiJ zwG2T^IO}>e&+=!-4bHVi0L*%s5pC915$k1sjp^|2P;>y*yyA5>J;;)wQ`+~07-S;9 zJZa=mPUkV35s!6}TD6WOm^}%3bpU)!=%xNTcYchB)}l7`TggP>K(a&uk!7YRjcpzB zSayk&ly(tF;DwFURBftQC#oQ{FV+-(pg(zSrSatRvJk#IM|m)jC_~cX+H&(MbfNlWD=**12rP zHHcB!>?%tZYo#VMs_=yEWBp~(UwRV)QgQ(ZkD~uxMUu`P8iBodf3TS7{|aAze}(fp zK%CH-<%tPm=P=13A`mQ$1;=Bk>rH$5Jl}o1o}~Tsw)R4LnCuA!hsh4t627EoqBiE0 z|6U&n%{$98c%+sRNmYa=FJd*%=+p2F{rGq*VsUCR84*1geWpCOGcuvF#jtJ(FC0X~ zcGa9%f>?#`XL$#@6%r5Ai=i?Sy&C3=?F~HV@lc~P+_(C*+F*{Jm?*z%rdap4)lRw4 z=Yjy)3@k=5d9yu$m%GLACH5z;!&)9h7N#$F*8n62J8UdTXm@*|$b|5!H7T39O^ifu z(~=#D7IX|C`i=#LtB1|WnTQng_p0GwjZLt;l$@ZZX^KU1v!!~I&fTSgrXRMr(aS!A zwaa2f4?P)J*nWN(F(R8K6VJ!9p*1*fP|=P!s=iv|0jax$1egI#mw}Jzm@5hC@WEA& zZ*Z>WNX?RjAB3GO_+0aRtELt(O>1Hhh1CX|@oBs_qxZ88jgJ}Sr?2m9VOFf0snbG! zg&-4v@#z~J`pZu+{kJ=@T=tu&#L~P=BV1KXb(>gb8x!-4@xZVT$}0EXjCAgx2fzMR z$7GUg_XHuPKcj`QW$N?L>WH4u-bpa}ZdWg5-7>~&B#u$C5T=8-S43`&On@H%1u>XiQi$+iMEE26Ik=rKudb2k z*{H;JQ49S_WkFr3jFD`mc;@IidgFd`6aY?4rs{-n^tbp{Sagf!RIRtL zblz}yNq~1`dv&>Y!Hr?Kr+hbBAd12M&VGA(WH&uxB3$<6-QC9S2KqZzEJ%d<42u+L z(HcpxTSN?zFsO(5+iCJZsQdaJKY#jdPt>CpX@^q*7^CMwg1sJb#|$0PCcniJ(!A+u z?(RvjF0U8SUVAa4SBPI9z=Uu(7D@nqg{;jDWFK15%aF&K1a+Z&Jk_0=1lR&AIl@O^ zp{xYpZK|EfoBy*GQI(a-!{g29=%S`~dm8S#i?{anZs$%-Pc1T6o{X515pg7zl#uj^ zB+@?3$^Bp5njpr}5>{cIAb+l4XX5)OD7@i#k;3Dd?J|YD5;V!4+>SD?)xZ| z&b#`#=0J^6_8V}KUGhD;IWlnNcUZ#*%X<5>YjI~wO7@rL`iARz!{x1<_7obYX`M6tNBk7FtNdQcqy*BHy<|GO zn%j@)j6!LFiNXCE=ka1ge5LPfrw*CiaNvc1Z`}RTcC%qg~6(1vT;gh_$KfGHG4F7TtJ`+Y0@woo^6G zJ*}SH;29yH@oVdZCN9E=UDQ2f`)@~ohO+FRMGO=e&?d8@91lhY>~DFq|L$JS;~r!X zDtI5nv?#hfaLIl7Alcyox60F}U0eXqRywfKgO4P|8h$iWWEPclqxE z<|J(_X3=bmq{0WHch!=pf2l>ZPaZjCY5_W~{VVpS_^E(PsMz zFIq%7JVwpa)2*3do#*t6mGcGq35sH z2K)v8u<*~K;mtzsa#TcxbUw*I%HMs4_a33IBlV>!E{(>)KKUYVn3IMnkfQ(4 zuBOE<#$8};sw3bW!4#^nvLd*rWa*LKt;6JxCcp&n;2`?Bzx@#uaPu=2<8S^{AIr@$ z3;qNJ>NG#ylukizZBt}_jYC;Cm1yUth~ z$0i+==3^oZ0@}gc*dEpj^{UWDBJ{+hGeK>EPTvpx*LFTQ1UFU8mhrEyyN_(18HUHk z24%YTi$bGAr2IW}>ioL%UQKfX3K^{X+IaU6*81f(mIy_&wji z3y>7roN_+L+MwGu!^ly?q<=wiOrf_2LBK+_<|lA8`pqz<^USUw&CM7>z>u+P=~39% zJ%8Z3-`rrcFQ4#sewyB)+ZjlJ8Q_aV3zAriKrQs-G6h5pzTPb+DS5sG2J9RRPE|<$ zas=hfDR!P}uh*Ql{x8o0F#U1!7L-br#t^i$X_>Bbn}(YI=i=&y5u?W7sVASt%$YMV z(5H{#f|<&xe`wKP+(jT6fO*g>W$FYG%*?Fl@+L|snOK>6J-);!k_jIa^_7rz}>?W)55~A^x5SYGjcc_9gO)#5X6ID zw&<_zLXZr=Jm_(bm8xoF72bq45PG8~A4=Ad9Za}6G*Wwdd1F2^gc-9Vk(YOwmkYgc z{yY?_T6B{;;!;)y9GuIBmkUM^E_l^Ma$J$&ODbfl!EC;`X-^k^z_p zy?p>>aW1cdPTN|Pmv!mXRa95j!oj8Ssz)@kyL9gk{}F;G6%snBt=B|u4<)u-YU>Ae zWk?2K9)^owg!aDmww@px!eP08xCkRVOZI?Mh938o+!Kr7(fSB-8?-Qn!yz#}M+ZAT15_&%@a$o<&Xv@cI{_pEFb{evYCeO8^VS4%A<2()3P=WE9!Oeb9fY`h zbD#z6^VYo_36_Fn0Oo@_HR?-g&kjg6x;hOc185m`YMO+* z1d;(r=+cl3Kth*>WB?MnG$aF%(4`?6fP^j$$p9pDX-Ebjp-bcc0R@eP6>;h{6951J M07*qoM6N<$f^H>#AOHXW literal 18376 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

GJB;Z* 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 diff --git a/school_data_hub_flutter/assets/foreground.png b/school_data_hub_flutter/assets/foreground.png index a70c3667b8d7c6aa64d4aeafc4c35399db77f508..02ddabda168705d331ae06b931c19cf9cbfe1a45 100644 GIT binary patch literal 30395 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 G;Qs*OyUbkx literal 38125 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 MENsmw=iOuf13s$`{r~^~ diff --git a/school_data_hub_flutter/assets/foreground_windows.png b/school_data_hub_flutter/assets/foreground_windows.png index fbb6de6a26307be907a8c5aa2e5b6b72be3a6524..0321a4cc09f64e632c05355653fa1cbfd428d4de 100644 GIT binary patch literal 39389 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%0Dw=nakQ<*k)ZYZQm`Q8Xw_>ENou>K`f? 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 literal 78736 zcmb@t1yoyIyC59g-QC@Sdke+gTHFEzcMa}t1&TWqcPQ?zg_gFsQ;HTXZj-j}_szZY z-Om=ogQ421> l(2LFRT~cWN`R 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 T)tWI#h~uri+M6m_^N{}oIeNKD diff --git a/school_data_hub_flutter/assets/schuldaten_hub_logo.png b/school_data_hub_flutter/assets/schuldaten_hub_logo.png index 79bb6ebbee23b3f3716251a9f341f1a8fb6d88c7..9706d4e18bb29fc9d046a5dbc45c85d74caa1dde 100644 GIT binary patch literal 55129 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¬EQ!A9<@~j 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 z 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

{uLxs_%Ov1tB-q0#+ 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 I@c57Y$;oYPZ67~=jEjqdt9kqO?d>~v z%+1Vz-a%;IxpU{~GiQK8CdS6@?(RSl0Re&V@bDcwcEH_y@qgmQyp6T2N<3P7r6yJN zAT*ylf4-)=8p!DA=zwSj0-%Qt4GrPeF59p|HbxuBIQ{VAr%#{w`1qijnHU+LK79(b zdHeS5#>U2uj*dr<9@)5Y1k;=qw3qYZ!@NLfB*b0G$#AYrw<&QJW0vP8-F)#I&u7%tgLKUSZG>Wny;_# z&0DvA{rst|qvP-AhtNE&zcEp61&;z_aN_FpvZ*g#y(`erUxsMr;NWm_ za@x6L$A7_t2VGoTPy#GCzM^T;9hScz?IJpun3#a!2NdMy=2lcxg!?cwG_=3JAE?vZ z!UC8C5Sq2LwCblF`S*FgfE(Vk;EiJ_oV4!pY z1`zg-@87m=-2zO;Z{EDUcI~>gwKY&P&d^2!{6zwS?CfkeZrtSJ#Jckb)guQoO|jEsz=X+Ck{ z#JhLz#KgqbuU{V&6hxZlCr_T(+uQT;@m;uZ0hbyS&9`pdVq;@dP*4D}0|Eki`}#h9 z_)t+%0g*j(=FHo-Z|$8OI9S-xHSgZN`^S$TpFVv8y4J|Zh<}BJ#m3qiXg|<$pzQgJ z7mnUL%^}Nk=HSd~=R9=H4<0;7NJ#kh?OT6;zoDTaFp$K>#o5_Gmi+toZ_~z&&kcU) z@@ffPWMgo~aCS&Y$m}_Dn3$L}H8p2UpMLl5-Hn?zef$31+uK`1UEM(6K<(?duP45S zM@M7vv!I}0R)1zDka6+ih0@ZpTQ_e$di)s3UB7M}P`|!`fxo{$;n3F8(|2@oR8>*t z7Z3z;-@JZZ*U%^AqK_Vv^6KYzbBZQgq0#tmQ!1BN^>@VL1+ zU%q_#;>C;W*RNyI?Cj*UZ$mR92fM44O=eaWP~`RN*T9&Aq)lKVEh{T~`|e$Sem)jw zD=90>te*vRCkF=y(0j*EoY=g1)3XnC5J3ZGou`t1_G!1DKPNl9F)A63{FlAb?*d cKF!1c0CmpjQ?iDS3;+NC07*qoM6N<$g5hZ{DF6Tf diff --git a/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png index d74d74fd04387b1bd21573e028f5d12883d88b3f..0bb4c658b76b18bd5561b350d026697c685e6e77 100644 GIT binary patch delta 1830 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 B{`LR> diff --git a/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png index d0f2bb030d11f8a7f9b1a89eb1621aa5e0917781..38d16d6efded95361c7ea5838f534ca2decc117a 100644 GIT binary patch delta 3164 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 eE^gK0)y-Q`}h3({LIYER5SO} zr%x3X6;e`Cj~+cLC@j>{)TEBNbLY;@$;r{u()#)HXK``ylqplFWA5L7|5#X9fa!*b ziHXScLzKBmiHUi6dA7E;Cr+Ns&B-ChTwqX6nl$O-$B!{FF@O5{`Vc`OA)y5e7TDO> z?Ao=9kB<+oc=ztz>o;rw#;J3%m#=|48#60TbIZ!hOG`^7B_x21it=(985yWL78VW; z4sLF4xXS0xpLedGxNY+KZI2FAZ*F(hw#R2K7bmB(k`j;+5gvZ}%o(`3K)}wYZ% zAt9G9U(wUkWn^UBzI}UBQ+23}0-@bn1*8Y9_>(?(cOWT__ zZtUB)@A-=teEj?t<`$-=CP0^N*|O#E;lseZ!+*xc_UQ5BSFc`)iHYGf_Z8D$R$Id# zi?<6*$y50L`t!#RzkmHu)KX7YQi_O(0LDH%4uK|~K7IP!xpP4GDk>@hU4YNMfjTDp zXRQ~Wo&TzIg7>kd85tSyVg{JGkyS#n3@|j9n3<))0H3+;*~u5Ijc?w(>2hJcu&^*t z1b^bZ-@kr&dU}5T{25+803F`Y(D3BR6NnuI(k~DgfB~F)|K2@d*4nal%iFi_Dk>@+ zogB-`%IxjzAV$l|%3_*;-CQ)FsH9|KVhpT)-n@A$BrFse6>Vp0OHdbKbAie8{{06V zHf&&IV*2#?b7FD|nwQBm7YIZ}MIQqL@;2!cQ4vuA0RdvP5H=U+y7Gz&AVXC}l^7F= fHJ3av)XW6{tvqwrhYSlU00000NkvXXu0mjfVA%C{ diff --git a/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png index f90ddb2b5c9638803cf045b22cb5c1105b23bde7..d4a9cce936a25bfdf545544838f67dd93f2429e8 100644 GIT binary patch delta 3015 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 Ar~m)} diff --git a/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png index 3f8ed3905dff1442bf207d2a5c893bf90e163bb6..4f2c1df8aab28780a6a6dac3ef0abcbe539b9607 100644 GIT binary patch literal 5215 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 B{`LR> diff --git a/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png index c49ef0677df5410fbdcaa8b27ff5256503450c14..32b477693eab1593fe3a1cc14ca7a1ab3f142b18 100644 GIT binary patch literal 4642 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 Y0j&($@SQRB9RL6T07*qoM6N<$f*dusy8r+H literal 3989 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 literal 7155 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 A0{{R3 diff --git a/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png index f406fa3c66f2362eeff81505879c158eaae4c7ea..3c41051bfc03a6fc0961382c25598cbd530dda85 100644 GIT binary patch literal 6302 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 UedR9du>b%707*qoM6N<$g2K=y5&!@I literal 5602 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 KMNUMnLSTYGX0yit delta 2498 zcmV;z2|f1a7RwWmBYz2!Nkl6z#G{GPd=@BO_eoIoJJ{7nM)X9Ijdd}94L@rm{0#D71VwYj;uwzgJAM#k3G zRzgAo#g)-yefjd`#!Z_pq^E0WX!Q2>%FD|iJ9cdT{P}3Dj~Xk7!*TcUAd^V-_4UBY zX0y+oJLl!)m6ercXJ?1X7O1gazI++J{lKYpp!(=i^B+}%!K#i3^B#w-Xy#5nRh8PCJWH9gq0v3x!Wee0; z9UUAJ6B9c+I@HwEFk_(Lic(LWw6nFvd zI7LTUkth#~h{($2as$__$+0x$WGW~qAU__$mYA{HW@~3>Zf2H} zk^;3YJ%2sjd4s#^)|qi8VU8*`qOii2TfhDGVPhl6JB31lk>TOtwQJXUdwbJpH00Zj zz{=9a8Pdd45Y|Lu1r35CSy5gt1ci{4l!TF~8XEWS z-#0NadDjynv$nOh-5qY2O8sniUDCgd*8kLYC4aUqSwoUiyOq|h)1fy{OBB`@FJ8bE zF*G!Ma}aQ0q_MH_U97@DV1*;#w=hlRj4rknbTN9$`|eW6N~z{?4%k}^1_NPDBv!zJ zb-TK{gpw%?9*+kHgOIPFrtlT(>+6sEuW;&c1gsHO0CtJEf_O#WJvFj&npFa3Xtedo z6MrqOcOL2ltg^DQ*4Easv9X|(ug~e!sZ;H3ZN9#~J9q933=I53QGK-{4jUZ2RzpMc zf5q$f=CbUA}jEv96wHVbzQt< z$(KGpkPo2k;89XjQ}gojLPJB7lat{+RDS_Dt)A}gYu8HX^rGUD;=N$ zPAe`h>FVwgPLPnmo6MT+=;%OoaWOTWJNZ6wQa-EfdXb)iv5CR-RV!E8JAXJPe4nTw zFLS%*c6N653gi+3Kpw3+d-NIy=3WdHrdu0s;SOA$@d|H#{<&o0oI;#~eMMcHQvOcP)i46$(xvxb_Q>(tAVXwXC*Qp1~YpUki*m!v^zEk(a z+RRi&TDrUMxp4m5`UP03s!Gs^gJ*Sea&mETiH?p=IdKB4rk|gmwttQenBzl-4&~Cz=n zPtOMr9zbCik#*0WJ%2O2=FBha<^=8=$SA_)R}-A)=Ji%aI7O(bQ5qZSx}SBAu-Jx1 zGtZts519b6-}1O+Xy_%}dJ08NQ&U4mM&|VyLsc7S6BC4 ztY8`yrc7yXZ+|~?=FH*4huLg47-Gl)uriu+eyHa5R^aN`zMWRn0+=zmdD6F6h&d*O`fG+KT^L0)dI zoSdBKtl;0gOU_3{MPK;ZcW`h}ed^TBi5o)JuSYOzI8ku*D(EYS zgPoln`YJ0YcO>aZ;=dE2@W69V_`3si3OU)?8d_S&oj0rlJ^@}60(=1L zZ}V_CRRVsU0>X5kSL9v<$KRh92Ay& z_?Dq)Em`8`WV6oVG);IA+Gdiytpg}ZxtRaaMo+XCg%($==Hu=vZdj`Daq+M0ZU z06X~Lh02<52Rf`4*0vX|ZBbbYA^zF_AN%p*6YIx`Ppls&{!Xm_1>im=l6t#dQvd(} M07*qoM6N<$g5wC;$^ZZW diff --git a/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png index 12f43619a65654b21a656fe529eb589166eea6cb..0a7a36f125d722aab5bb0a436e77a675104903c4 100644 GIT binary patch literal 7444 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

g>YD$0tO`c@B=4 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 R-~Lw*l95!Dr~?{@{2xyL^zZ-x diff --git a/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png index c37ff41292a78f0c548bad2f2b3b59e35e8c0a82..d607b2ba53b97e1f00594ed29f70c18390a69630 100644 GIT binary patch literal 7934 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 literal 7155 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 diff --git a/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png index 63bff8f6bbd54854d2a6554054b70bbf84e9cc7b..d2016cc918a23188b29a87140be073597783c111 100644 GIT binary patch literal 4073 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 Xx(GkrPf-N+)hHxBt9rVPV& literal 9405 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

h?f2PFvRA|p#;_Q6;u+@EwmRpHjB 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 diff --git a/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/school_data_hub_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png index 1f6eaf35c20ffac313f3d23248a29e3998f914f7..f08b6609c4bd744b14eadbfb2fdd82ba62f8aa8d 100644 GIT binary patch literal 4318 zcmV<45Fzi0P)`LYHM%bzWw0AgQ>>G7tWuzx3?!$ z0m4DHwzk?kIOG=;?AohBR#w&~ zfB!9;H-GjBz(PYq=gph9dCQiE|GgmTbo$Yd5HT?^KR-W?4dyyKPct^Y|KLG>e!ixr zCP8Wt3$mb~puD`?(!xSUMuuYpMAxNDmjdLICr|!cK{hot;XGo*2rg|#jvR^e$HqqD z)F2k5tgI}~C8ecY+Purl!&zQVjyN@l1&N$tU|@h$0l(GI(CFKsy}kWpXsD2o(Ddok ziBp4EkXUk?zyE%TtLsKz->XqkefiCSg9l+rM@L6_d3oa0AUuUETC^xUA|fUx#%12T z{rmRy*t4yz?Z}ZM+qP|!mX_WV6hx>FgoA|jA|oOeE?fwlv9Ynn#>Q%3JT*0lsEv({ zV+{MKHZ_!6{ELP8=wK0Z7=JZR6JKOn4|(o#~s8#nIUxl>eBl-~gnw2O<2 z!Sb=@d1=opNJIz(4{$U!H8pn3vn>Q5|6<4fS0Xl(#hI_ApUz3}g8x#~2b@eJaXESNB-VC+9S3+*{PpV?qNAe& z(>8bRT=>}2XU|X*daYY`=gytT$Vfp!LB14aFc>%s2ng`i3-W7h?6T#{hm8>Z=IjDh zOC2VYNfr=j`OuiLCmpN0zM&yGDXG6F>F}*3S}j)cWE6tTDYsAq;OZ;r=nC?O2lNJowSx*>fRfuauBOIcIO5X zz*^hd5)u-qmX^KmqoPktNH8@syAT%U;NSoY4?=IgWc&8*6%`c@VXJ|#_nhLIL1&D0 zH!i!Aw>v1v&CN|&S-EfbenBG4q@}0NpFjUIgls`sh~;2OrJ~p;8YE(AbWF@}U3qC; zSw;uFZv%Q4U3;Finade@ngO;X1gn*Kkr=- zR4OYgHB1aRA|$cwDXlHf)|o$$W##2KbF}`ao!}nH21pXGeK+v zi~-g%>#;yTQLtZ-?6RP$vaW*&@G`J7B_$;o6Pc42bvrvdpFVk*vemTzup`B+|G_p(AtN49S;7ZehD8~L0fDr#$M%W;r?K|*hY z9OPdx?7p!F1jxt72Nz|fr63$wx_*9sCMG5vhia&+OG!yePEJluO)D+`Kw_<;)YKdP zz8l8q>d|O4D=RD0*)v5cl-|9-;PH0Y@ZGz2>^r}$iJ@IuDxyH?!3i4z;j^D^S7($Q zIBQsAs`|wMbdWX>F=H}(gm!nD?qpe+7SP1(dtR*HUo;h=7>C&bD z)UvfD;d*RDL}bd1wC0vpwq`y0u`k}f$$9%G`^eA1vU2hcbDUjW7tfqNjZKDXYik=C z8Wa>101~y!%9SfYbbqBCGY+)YbT%XlVE}>p+^WYrZo;#eKB0lRxp_=;}-Mn?H zx~7hehbv*|epp*mefHD|9I9&SmNc4;m6e5sxerV7^YcN(K}EoLJ-xhs_l|wAHA!rg zWM@-*Yh^RM-R*CGJ979imsbox>#*ptIN99w)~#FYn<(~o?AYPq?v5#!l9JlJdpEtS zD=RDW^vM%RNl8yKo^{dbpV^HUVK*)*E;@TE^vuZ;d)ff8oFg@bOV6sSqxP;WK*|T9lTWf12rGEw$X_oLl*bo%W0HkLy z7Ke|oe?xuU^=nZpzWY0!&R}J5CcpF@;Y3qQ+k#3(J8~9xhW` zTLpw0w+7mo8Ha|RNJva>Xzbp7<${*Y^+qYGI667Gty(!@oY5d^F)lL1Aekg)cx0ri zhEBj%e~O6EEHm@w=BD3&yB!xFpOTzh@V=zCZP{5)Pk*eXg{AXc=SdUB4;v;jwED1R zh(Xqt7d?5J?e4P)2$Pc%i_0rOB&gQ5G#fhxgZ}DeW_)}+SV7L4w^OE>(5O^9J6ny> zYJg3rcjdf#nUa!1wVz`+)caaP46-mkht6c`vo>9_?%nm7wW?Z^|D!?DyE;OCIfIL=j0~ph!rIP{ ztfH2F|Bt)(e!t@>DmrbtiKD%vl@(1zSurc~d2&(`4EywX=BK=h1I{eiG=wU#Whg=3 zO-(u%5e;>Z9X|MXFYm6(=AK8m+0oYa+s*Xb>1i9trZ$BiL>g$rlToOzL%sjaQOeAzNrSJ%%r4Z6CzKxN5Y-H@21?tMqUE!!StJiDHp z#tTk%YVq{n>S9L)fWwCmV?aGUy+el%QK{6PW-&1_J{vcp^y#^S8Q&8W1djc0fxL3% zil4uKQDLE=09kC90E(kcn>OtZ3fdJI=;`SR&ECI%zkmOJu;dNi-mi0C;ZDK3B6Jj? zh+m6Kyp^7I`O1~_^z@?l#T<7qFg03ZbZl+y7B6xgKh6N%pFe+&3ahNFEGH)i1RbTY zudnaSnKQlCtqTbW0eyvq$B!Q`KqhBoWL!^3_-^&;7cX95UIw%83JC}Z*uG({MY2e$!5K6>;hyTE18J96F>px4{NJa%{F4-1+V4w$9l zLpi1+zo39YXH-?!$jQqgi)d(SX{xJ_7$MVJKNlAl06TW5`I?xR047v7CI(nl)FWqV)9jj~qR^YSk)^RRlMXhkpK9 zkj%IisLVpxYh97aBAtwL-tu3&7q_-EQBVKy!w;yib6-B}q<3Sht^H8d)S)0btnZi} z9v<*UbP3|&ny+dX76RfBiIc}Ss&`Ve_i71yVle5^5x6?fkYld z>0~icV&X^vRvh_PA(OSFNXx8-pNOl2OV5}wqx+S`WvC%A8;rKr>bfcgNeRKz7DaAEi7KGm*WyINaYVePeR*Rt=xy#ey!qemP^=oe&KT3Ss_&DWO0 zNpvQOV|ZjRr|AfvU^20I*dWJFp5o={h0sbFMj4}|$f3(%rJltcdUk6K4GqC^NxfJE z`%&XZ&N+5~z(Xc+i~gVS6$J&A;6n$w56G^n`27~9#7b8PLi+mpv9Ym;I$2p+7z9aj z*|KF;R#td~26FxU@StCih~0?ekKZ$j=?+Q4 zWk*Hw?vZMgUMrKyY!f8A9j$XXy{FBkU)M%1R0}v@mYIY}*&zkd@cw!ID8J zJ&1X6nllGW5#e;1+26rM-P%V4#ta z5tohwb64bIQ&ZFP=g-HXz|F`QtFMc3;V=XK=7OV~J$n}12w83reIaUUYGGkvNLocj zMVK$FMhR95-Oo{vxZTx#|A>dr3)2v9WRa z1)o?uq_w3bJ~k%q*O(Eqa;Bzc2#He#(w&q&Q)tKlgAtB-M6DHDVRF}oBM!MQVs}CU{DPrPcVxsNsZEfxCJZ^u`>0Ou( zK_Ouoi9xOiE>GhaMQOh}B4i_Ok{t)Qs%%{S)OR#w*5w1&D`HFXU^ zB54z`AYZ-72{t!7xa0fFv577&^T0fJ1O%28zgJXNX>6$f^;)zw)#B-k?9#Fd1vx3= z)F2S#&E&Z3*M*0Vo^ENVEiHb3=-~dJgAeHF>Y16&di65%(c{PM9i6O=bAe7$7jbHk z2nDI2tRyTVq@|^PFXwmCpQ|zVO%4urgHPosiP_xLMI!K@35W!#sjkVSGscZKw3xc* zNoGz~_G?m~z#}t4e$V~`I_e6kR{*{@!rvPZcvanckV#J!G-5D2oWyc{gNyt0hA zSMVqVf;6+XPe{<08##)&SMVqVf>cye#X;QoyvzUoJN>UB|1UuP1EH)L-T-tt#{d8T M07*qoM6N<$f-@Uo82|tP literal 3706 zcmV-=4u$cFP)LPF@S6q!xJs$4dgsN9m= zFQsz7C6^%#h8gG0ob`CJn{PV4&a;lU?_qr3eBb~5{onulzQ5mpCj9vLIA*RJ{(tSj z*RXkzbH(OC&J~*nIah2RzJD=TYwWJE$-+|kj|+S;0%oBJya{gpt* z#>Tq3x(*EwFHuty5D>`E&reKDT&bs*oRmZ)644(0Yk({$DEOy~i>8J~XlSUWrY07P z9UL6IbLY;X!-pM7q{Igg@OX6HKpiBVPWSNe&|0=EJw1JLaq{x=y1BW@%F3FXn_s(j zZTIfosQQ39$lBW4!otGa(b3b>&)C>lTU$FKB4XFBU2JS@==p#;$m;59&~htub*Enf zV4BO8k;&u_A3iKxxDY)bPzOmM5J0l__xDdd39y-gqYe)85(pd|9H{z$I!JYOby%nw z85ydos-IjM9UXm|ovo#%g?1xB9i*_Z@J3r(e}8|dF-l5G%##pC2yZ|@Kub%@jqq@^ zeLx)~BwkQZ(6_5s>*(klJb2LF-kvBRP*Plc_3G8cq@-U?o-{HtLfeP0(I+98S(%yJ zTwRZ!H~|L^ha08Q2)w*!{rx>XJ->njUjlMy!XQLY5}~srxkW-k;`fx4($Z2pJG+L4 z1}`tKLx&EDii#q+7dmZ8NlA8gHdHTuBGJUySVcvJrIy1QNbt|w+dDNi6^cF#BP%E8 zx^0`gyE~Hd2-C4_*)l#pK6nkh2O+|yrY2`+XFv#KP)tk=2(TBG>O>-acVcTdy^kcj z0SQ_bK)!zc8uF*Nx7WeJVb!WtfHOKe8q%z|q$KLrEm(xeABE6{hlhd0H#9chym=Fr z01poj1oK+hHQ#%|Mdh7f4XZ@&3v#^)dh+11r`@$w}RSH*B#;!>LWLJq!h z%=nXz=ZA{@hZrM_H`Lm=eC}*cB+erRnVpjZU2bwlCk@`BJ_;$wzP>&Ub@e~3 zr7|)yI4t(f+qVcGg+T@qV$PtBnYO6sD!gtSXmQOy+)RB3gbH=#<`F0K=v62 zQjkP`{<5+%sOHlPOnpNGoxzYt7RKevm&?h?2?`3%>=_=9!{ceMK3pUn|Ka)ZHy;`q znDOO;OG1}>6R_NmGBaUvxwyEH42l#al+)ytl-%50eSQ5;E|H_6U{d}3{G_F&;ccIf z64Xh|ADQ`A2AnoLJpAzC!}PJSC^8vdM65dFoO@7?AQUz1_J2j<^~8s?1MK0{r#yAQ^IfDgjt|chbBu6^Edot zFz8hk<(1`Se!i#0B_ua(-b`|IG%z%LYGMMkMnpt}30qcH_Hh=>(xZo|sr7YrFu7J% zRx>8WmxBZo5)z7xhybqB-rmm1$tfu*IhD`>HpRvA_Y)Elev5yao7>YvVdD9WL(EI> z+S@{d&z%nmk(HIRwzV-cH6scLPD)I6cJ{Rs#*(X3jb(z)oydMxC4eSPh@zyLV-`H4nG#y)4yD$4zXRS&1ztVykvdaIyXbocZ$G&V64?+YHn zth&%VlvUM$MJ^IY#M)-GSpzA*SmDgsz+X=LR#lcCJm8i2BnJ`|`YNKnKk*M%$G58u zY&Y5(8yibYNg@<+NNkoxGo+}(V)?47Dt*(nk=HI~rl$eD&U*a#ePz^a#TuE9CTS%cMoPt7wsFQ4GxcG zq$anuwE>0V<>j6FSODMA(E&_ILPA1HN{ZEeTGl`UHsCa5GP$&@j7p^{DJoh|7$nt% z?iq*bKjAbRJ09Qrfim^p36{sGs3?bH`UFu2dVBjmz!QLx0-*zT>fzx5Vg=3sn+5g{ z{fSwtfegVVPft(e`|hlP%)Cy%`@_*lT$i?%mXM$zFw&x1@w`qu4X*ouGN4c>+qZAu zu-5oVLG`hN9wh}&f%-8JNIpQKq^c$+LR6Ws>gwuKr%r(oKX&XGXyP3^cPc9>UA}Tf zS4Rh!76_ChM~>v><;BLvBE-o8NSINny`d*Z#SiYKe*f4`kqSd8ycbM>6_dpN1i(ETmAAC2+rxNo4MvWxwzI^SOo?JaNzMkO$!SP z^_x8jtPRp3B45YvE^+uGVf?wOgHF}G^n z-Q8cldxF*PyDZJZm7|ymyIw%_sY64Pfig5S1hFbEF3$W@ zSXh`@$&fgY6eJfH7q~b|qm34nkERx|VX)&E#(4MO(3QIcf6xAb0Z?J^hW2+oOz%hk zZ1@Se9P{?=TSrI789~B`q9P)#t*w21eK08x9z5vn?FD_Or>6%3y`rK5CY?Z-d8>{E zkRXKtL*}(8yBpaU$_Q3onB72oI6Rpe6w^$jzI<7|ZrwV-U}iY@nOYo z+O+9haBxvkQBqP8ly1z#o_bDBPHk=N*?<5=C8f!Yn9mzhkT8Fmni|T1_s20jIC)|I zqzgD%2{uml;mh}gE+m_93OG7AV5T(pS@}9Nl+fttXz!nXii?lGfA1ck1t#F+p$)TnVFh`1Oq;_d(WQk?rvx*4inRg#8~K)a&mIkkD|WYyt%;pDBI8f`nXR+ zr;Cb-Mcs?AF#oj1eBO|&jU`K#yeKR@)Unq6RhhvTL$jHcK z=j7z)=R@B2_xHm{`uh6Fcg?_{-2wH3`9gjR@VLN$fHQu6PoCfkBrbtii^_I(^^_ujf_mp)|deqz~PW;4wxD!;H-N4pL@UTHsnSh8>^_SjEuPP zTf)8O<`&E!jRb0jmiBTG9Ki3zL`D9tUslS^ej0N(HZ?W%ZEY=cYikn8#J(%zdBHO{ zJUsTVT&cHy-8vG4Np)6NfZze77^wl@Gyz^Uv1&>@huP*5)u;^=iuZVpQ$W= znV|?$MO95%MYW}&cJp^6ZVv42=;+e2^0Bco=2c$41wePVZF4m?HY6bUjPbuQbaRq6 zGL-Q+JL%xjU&-XabHNMw_%brm>*^a#Oifi)l*`LXq3@xM5Q8?zjE6~WZSCciRldGH zK0c>~MMTWa*UHLB2L<@QC@KccWx2s-=MFbieZZg%lFneG(-~MG>k|pt)!9jox`mlS z2KxJlP<4Q5=z^42P{88xs|^f;f&#+At^={AjgB%e0e4xhvmzkSA5{mKhAzme%Bqp! zp{C~6{T^QX+&#J=l$~8v>X3i{5dNIsLSE>962_PSD-}P2 zWL41YXh?&jF-4Tm7bO}!dR6WIX!H6ExcwaVP4-^hce8o)pY* z1|31&@ctO<64%+|Oum7Qf4t@~f(vVa4D5AQ$x*x|fBXhmcbgZVPhL7EpD7sGa@C;nPy}cbHC+knh zNXxtKy-YKQ$3B}UP+d~8%`DX@@gx>-x0}1%E_wFeIrDqIUszoPNlX8bE}6?0 z3duNncYT@7jrF+lb==`#V>`WnMa0t&mFCO6JU=JI#~$r1DlBX?pGrF+CKm9%-!m{{ z!DVf1OlQ*X@_XS*o(QFP-0dS0G#NhF+ha8yeGT^gjG`Yp{!yp5Z@yr1INt4X^>Du4 ztj+P2SZHGvJKp;8a>;VKK$+${+Pj;R+l=>zft*~mDm$Z^D=g^q=g+;py$cOBHRlTf zANn2N$%3wnHC>#Yz0(u-kB-6?QJxnzT5W?~X2%`I3g}TgT~8KoZ=E@MT*i=j?B(eE z{NDEVjFj~bejV)J@4UTKYt*6}3TT{1$;-&>BdRMX%m}?d6<=5nrfl_?e_mF+ckNG5 z`mX%rx_ONj)d%!=u^9o^pmn}NuX%WQ_#`XnwMd~$kbR89OiGB3o|Km-Xf}?z|EKAI zY)3q4;xHm8$ZBnL)MBf{>2(KkIiHB%eQkYH3|9oz&~SHG{2eM#A08VPKab6;$%wnL ztxZEsjRHLi*Ig=To(IjO7j_%k`B$q;T$C!7Vk&5+vKF15)wX{H_w#-Gop-K`5 zISpMjLUCp<0!v%CmHOd-DNximN|%0v?L*vF_%w0FgqnJt*oT1$e3MKb^owt3D}8f_gb;f z<6^xb+4-NVfY&D{1Ox1k-R`HjW< z`8?jbMNCdk`n^0B8>_3UD=8@f#!&_S2Wque*W>nZ!nv)jGvMPLICHTGWP6`m@{jkI zRQ*E8fLh(L&EsgC;XG+x-cE&VuD4cy0q-v3gVAehrGm0H$_v143Q!A-%_&P$={4Qe znD~iJlqih;p01!kLz|kIkiG&wb%Q}gczyHFskcO##&R}iz14>sjK1CH*IiU(VrkZH zI*%1Od~lP_WI)JfCQa^B@I*_X+wQR4XRlk`g@Q}>8HX`CF7C*{DTmK(rAj?F{Qy~5 zlN5cvKj7mN3UNnwcd;JS!{xTm$s(nuCRhf8I@phvk`mY_R{oFge`a%!kF8wuK1JUg zj15UR}v1iCM2_oRhHw z0*!BR>-DPt!`D24-0FA zf6nP=D8hWoEq_cwZr}qCGc$^OZnb88Ft%jz0wyLFwNlpMuU{q>7F0ErK0m3ODk_dw zsx@I@VGGv97M504h-N$ynxIoE4-xp(M)SeK_5?JBP(q6E;;XBx zqWe%IkTBBKXn|l{E?-~Y)f(+)qrqT9b8n9PK8uE9FL(0_W$|)PV z$%;wNlw|2J&XQMr9il0%qJ@)g_pA8G*spsBY&_^Idoh4NyN~J-+HzhgwQeJsG>_sLQDej(MA(ONAvKz6T&sM4gL1m&W zg((juLXeOaVO##o{0;^Zx<`bip-gc8vFr15|3_PMb8o53lNs#S+Mr%T`9!hD-8yYGtIl1ZVRwua5;7BtQ z^@sHMO$x2*qL)@|T-3=@`P}0#=gmsedXes4>nIRySBqrdz~RzMt&$`mAbb7#JA%3g`%f#Kgop z8LBEPB_zdP10|S9k%wD|IT0`1W#r^OqoCyTI29Rrp>hW9AcG>XL{TODI0Y=p5u;wA zu{$C7CRYBYeaOF~r>G>WBmap=Ak=O$LoiJJCJa)_6^w%$xc7g!x8CGT4}$(Ah=kJK z*eWrWuqUV=E?psWwYFr^2(y(j#eR&5-x6#u|Cu!kEA>J1EA+)I3r+0n>njek!8NCo z0V-(l@YC)5bq=qKyuAFAEOPDd=}dNJy$*=|h6a`&E&V0k!p9xn7x-sFFbgfKsw8FV zhVq9Y(hO-brWJVZnw*OaN(`Y~93W89P?YceFY*^a2Kz<%x-a_$UHgrtP<Ox)`*_uMPeX81q74qM*7Dr?mtBYIf^Lqg|v2oNGFJz09-PtyYmX@rjrrz`T zMXzgX^YZc%$(hN@BI4t+`gQ;i1i~W_oyBgA#noBTW+`Ve9s=wcHdj(!US3zXBZ3m_ z7`zeBBNN<{h8{ADS#TF5Vm^LGQ)~=MgxB!gTtXD3@Cbsb&xiFdEG}L;cOZhKORcJ} z54b&)p{K8&J;e$A8FJ)War@ayHB-UwjA1A_p@vZE6O7z5YxUl88%EykcvlL^PNkLIRoYj1=y3RHpkN^HSu%chwu?`PZc@~Nc|VR$c@Csyr)^@q(41f+ z)|%n!O^__+HY|rKYv5NodAK|d;KbWhNRh}KeveC_9IL3_metooh(A9+I}eS;6Uiwm z3i>>p?+u2)j!!>AmAxX8t}r0ItF%6sZIW%t;u&;f-9vguyvvA)v( zk?Z1grTXy=s>=3Ec^f50OkJ44xB1u4IVqHXIlNwa^;dhHcb45e3M=3X%C!vk;~@YF zI|^!rk8q`d`}sed#}TvPKnPM#22i0ZdvQ zs8B#jPo`4p^Leau-=spr!ou?M^t|?d5K}QUL^*mM2!f6Q!n)I$^6KYUTj19GwIKPM z`c}1OqZ4Z*b6=Wfp^KT0egAs2K$@)ew0C-sm)~OD#m?KOFDcET zIYAu{LjU%SoKbQ{zhQiKRYy~*SzR(Hb$on$etsSZ_q6`3j0{X{EXXAz|6#|^|Bmzd zE=L)7?adJzgA@y0?qIYjrO`{&%;*=R$=^Fw@snekc)ahAF{l;c=QBx36GDxlPwrZY;(O9KTc?3t`(4pc}UlE;RVGYcw*wBoLrqn-GJ7}PK=zqAtpB` zr(ketaXBS9+1APmLX470P>_@qVkd1gxnQ%~!^o(hvGFE}Qm%j%dO}Z2iw8)TG_wy6 z5A(C_Ij~Uf$Ta!Prp3wVN#sSKU9+BY&XZ74y|%%(NH@;Zc1OKlzq_oWqN>u=BP*Xz zcW4%6RHKNuyB4ZHJq*X;T5u{WE7Q`_fCduRy;fF6Cg_YILPyI^Oh*6qGBU+4u_jX! z|5o`k0sR?)Y-C(25`1pdq_HO~wUiVIN&frW%jdK^_nCD_s=Uy!_4Uo-koT>1XCcMX z%F2I-6Brz0r>Cc9>rX)fIw|=+A3M3_`-SxfOI1-6UpA*lZ`VUcnEO~|Yl5ptuy5gG zMrAj9CuJ+6{TS(Ej4~`S}Ns_Qc{$al^o(=6?>p3aysVNM3eGrJGOr` zJMHe|KKmir+0{m%kZ^6Rww1SG2hHp8LfyEWF4OL@v9hAI=%IE}pvy=|j7(2YudHDG z&7(@`L9qW>hed$f_6q|C=aW70TFksW&@y9;znmaOY()Pg+I&Yq^m^z0_^cZ=)~e}u z!t>F(vU4K+`RP_G``~z#I<@D{yZF-PSAE`aQ6tuO#PC! zAneC(RvgkqMpxZ9TDP9WHOR^JTLS1|X?!TnvA)1r%2r9QPCABoEiO7gzrn>43C%jB z)aJg?c&#JnyKU2nhe=mNydl92Hhw>GX1Npc8}EDG4fF9&n4F}ya)qOgra_IqjWD7x z7fwUg?=TxoiNbJe;qdpOXQC6o71dDO86Q3$kGj)syZD!p>vcPPGw|cPGkNC3z^f<| z8W)S!7DNac6LDR0+1zn`Jv}WM9f`8q?E>BMa(89rCUQG&D)x!v1xI`07Q7)k@>k+9 z?a%X#ttsRJH!z}(`fp@n5gVHcjYRgv;Og?4*l|W=Olyz|>6gXD*0Vr~Hr|MBk8?dC ztjZ~HT~DOfws4_yczoz2wUjR?W9J#VMoODOziE2Q?)dRs0xbv^HS-lj$6E~35qx#V zI@*V8B?VJ6tFj3T=4H4!~OXa_ziYlA6IJ|@3`>f_YA;CTK z457$jxTtuz=&>VgfuyYteB~$?qzzF}N1~ejACrHx)9MX0_0(`*Ky(ZoUoY&RBN93> z>3n2#H))O@^vCJx2=MW>brbLpSXP(UwDk2QI8v(HM3kRuav2QS|XyZ6LTigV*L#c}@iY!|U|51yPhbntU; zWQm|vsFS{BJ(9%;>>`VVXU7RMFVY_VY&zZH%bJl6w&62sxY-F%^5p(u0?Nzlc4cLy zt*j^^)K3_X-l7l?31H>oY$xG%Uv04#i~Z84`S0}1ChAa9A+AmF@jVRH4YagV3U0Qv zH+Ay-JY{@55|PxZ*)Pt?fEIl-0Wyf!7V66O-f!t5#Yj?=~^mA^`&6Bfj$d{ z7N<(9D@fH_FJKoo1%A_fq2go}pxhr1db^#pK{h4&`e(YSwdJ&|Y+ASX5DQZ(ju`q= zXm#}@Wy#^;k&dRpvFk>6yY>9)PLC5k?O(>+2_^yD!x;hwExw|DT+QXEY5H%XUS!8M zCT2W$iKqBCuA}XFf5SJbBK$pwpSRVQ=CgRLZ*#m{BC>JmX(zccGU%#i#%5XU-lOka z$cu}79rY681gZ6 z?38LN5&X;=SRj3N#v-2-=i*Xh&fvc@5Qnmrg$S03i@AUHd8s7#xz>{RlL3{ru0L6s zi)O?sY2&@P_X+qK89rX>ARmnK^6=my5tr1~%Ggqfy`<;l+}}?ub(9>QX5s&y8|6QP z_vFK-U-W~ti)2bnxYX-DzzH{vvvyil&JprAy8Ly79pai1HmwmQzCfYU$RTSAB=QfY zyiVW!FL|U3?Yj`Ne)b0bkc%8ERg7&GgJXQ4#Jaj=mCy8HunUxIXZDJBbFuRW-*y@z zho>4w46?Np!l7*R*Q;dvQ`lB#07ugsO@q$&-Op*F&*I+V=Sn)7lV{M31<8w@hdQ*r{ozTZzBsMCa^+3j5KhzRqmOdI6LB zJDO9!b^$m5{j#WZb>Nl*laLUDz~_C77X<|+sF{%v)ZEkraGCi7QVAWGj9vi}Yt_Gh z{W=h^oDD5%w^}Fyw$bj|qM@t|(L~R~lhNHedG<%7f?xhVZ#`<=9lEbpRTF%AgadGp zKuet;CWPR3TUyX?Qt7+=EtI-lm`p^}Cga~YZL(fY4$&v1`6Ef6kN3Asc1sUl5jc zL|+#X{CKt7@Au*k7jiR`iXEJS!`ATt>hV?h{Mh%6ttolCd{9LRH1ahd3pM|Vh2`4b zf-3>qDSmsL{~r<2_Mt(Ds(PzKNUS{2vzYQNyGHI0q_GVR4D3y%GZS#x@wlC;HRta! zHQL=@?UM9`l$TTID(0Ua;}R3k#x2zw_NyBhG+WMvmnHh36$RZxp}pN4NZretnUxeL ztD1<4Zt5B`ZO9$|Jp*$)uK(l}LH&x&?^SY}Uxyg-A~&(03G+2xzWh(xp08Mx|6J4v zr<&TzJqo;5lj}*?-5*K{3J?gy<*=2p)w11@l!X4r;)^$*t;&7-q`KaU@6{(JAYD_- zI|Z3u>=L*L`AvK0|D%1BGZ8iMe^0-y(kYM)4y31{8AdB<;qaNaQe&`X%Mq#HdG>pG zV8t_G8#glIc3UCwF-=KKAI;?B|MI}t(mgNwc0a`})*T6htif?{O~n|be_qjMRux=`jjcL1 z{Qb8s%b}KB9WHqq?Ng0%AK_xdg{ZcIfGzJHK*9pzKwzl_3GBTt$ADRq;Bwj>;)F-O zOF$MStOVsjp~d%t@&P=)1-vQZk>PzxHT9GQC4^D~2#JZUt=EZU>V<^`WloWbVuLkL zG<5Wztubn9YRDvfFcYEXHroe^DWi^|~$M8WR^dP*CO{$Tk8r z>+a9jT>zTE*IfQPs1Ty7tIOHlN9+fCcI%&PIZ|O`B;BdQ3wY>@LgGY=MU4$vKE?U= z{QQ^BP<2j`fi}IC>A#%XN_6y$wTG+HPdurHavAX9^~78V2r`#CzV`M+K?W^YYfUQJ z+MUivll;5d;cy#v!_Agk3U>wnGB|BDOiV!Dh|y%2@Kz=&hLEPCu|eZNVzZi9>$JtO zJq{-k&=3ZZ=_=zyogYmKho{GkekDLCN%}`V$Hv1TD(1~fQ2c%-VE3GU+qJ5n{$1h> zEGnx&gk)y4#Jm=rke@hv^2v%|d3jm*2b92km&@CoQ}ZYJYX`rKyuA3XxjiTyjMdY< zvK3NPuiZYs0)*mnNE8x>jgH2POtc@;G_s_c+GH@97X|K~wV<+;hr3BA9XRL(>k{JY zMXio@c>S6f4Ou|g0771rVCaIolKeM!bpYr620EL*RD8m_?T?`OorYxn47s^Mi%7 zfIZUpdJi(I)*(97C0iYyvZc-23+nfA25)g`!fukx9A&Ydj;{9G<8DB~#*O4_#=o}p zC%Doox<9Iw@lJDXf9{sbmAD| ztt#@cvA*7Va}tb-hl4YA!yH12{JRMk6e5HKGauNoIdR^>pdwLJh;LVK(3^$#(=FA@ zlL0d1jq5pR=$8-~4*{g}7Om$Pb`%YRu5O0kQYM!M}wJi(AJ{S#a!{;01|(i z^wVXlf}pX2t5YO|YBFkU8KH}^qwhI?T7?(Tc3tleeLNkY?9dbw>MIbJ|F9NEfT~sj zVAu9Chn@oes*}Et^27mbmHONmDK(he{`5_t;`$y}t?fJgUubwyGY1Ez_La0GD<+6d zn6&tiM9W%hn^5-ogTXR8YzZaD`FQ;uSGc%tXG0wwNlCM`#@0}n1PqSn$8Ch7v++Lg z{`B7Za{Ry?g}g}L=X#V&fEKloKR9h6{y}ii=_o4GpQF z<5&D(gtWM7g5x|L&xxz$t(9kKS$^V2p6B~MR9IN3=V$qNxm_^BxunT@&cxWD zwY;+O2*_@(C*NAUuf0A0^zJK>!6(kn&Vn7cgmcq-XDqd>5ZI8qYlyw_$I!^Jv9XJ# z60rBEgd{8-oVmX530vVW%mlu@z9kUx!~Grx=oycTjlUs`U37GGY0QSmsVJ>69ppmF z3j95mpJFM-IW{&ib43lfH1NsT{;BGjH;6QxC7r#DUBZnOIpaC;+~c6PAP>tC=TAPk7S9DzgM>bTmF%x~gv*{_(lVm^cQ`t*6 zJudYi!*|6oZf|dyW@ot_c0#{vxIX|YlTsd!6HrgAm_^>K@kml70fCg6La)^ZOSA6b zcp+q$aR`P29TBa?2GHswdh|Ti3JWFI&Z!hCUX06m!v%gbM9q|*_qVrv z+Z@m$+S=>8bM?s&388$hQ(%vZO4^nSSD5AlX9N*RmnjZymNDG^Ci3OFmuM%CmQ{FRTPQmbLgA)i3UV zK`qaCx*ee)!2lnosGm3K?89rGfbIunDGcE{TgM7;VE!n?1L-0P@clH%%ENhb4pYMsJ7^jG1BgtRl+O>t4-cL}d2kn7i{?|x0e6%uEe9xc2|@$X zds@97Fi?40(xq(kOgWAOOEucP&&LbJ7rw5#^NU}uIATeJ1gWV%$-e_b13~T9%74qRmmf*^OHXA?%oH$iKnx3ug^9@#Q&3d%g=#EmB*yCxIy~I|y+{Zz$=xpr z8Uhs+m4C3X4D=l`N5-AwD(dF6z^c z^@dlcryJVc?{6rCL`0p&Pi92z0f$PErP}Fn$X)%{QegvZcwBb4G}cC^qLdJ4Ci4X% z{h<;}r;)9t=2+g|e%JjQc$Q;@V&RX0a^zfmzka_Kbv1#W_CqpC+FgFnau2@n+)^$jW&n`io%d$4SeY znp#Lczjb@OLO}`n&YCNQNTdfeaMaI{xWp6hxZFO86qAYJFl+N|xGxX*Klg9_Yg7gX z4oa4+^92vT1`y+s;5>pJ)cyU*x+2SuZ1|T0J|~OF$th}O5;Bv~+Ow?9uZ~)jgdNe) z%h}fw|2jfT!ZDGjNS+w?`ncT5-6S(EoT$VTCiaM^$-fzlk}g--Eo*A$=6|S1r5bjP3gt3)jHqld61H=J)zWr*-0|Wa z@V6Nm7^K$L6x^Ix7wrX;wU$X0#jD&@%a?FDIo0Fh;*M9dh!%iOS+yXH~3(+ zwcTJ@ufrJ?#UF5uybn8QQ)Rt~F#Il_TY=$%o}VUU&QXe;Lk9?cNMCYubIO%m2uwJn z^_EGTKv);gDa-w(y(#L%*_C- zxGJXVv*27GHl=}$b=d1koSKq#`<0H5ojpdjd}@+DBMYg$v9YnGg-~$1B^!Tg7c)d8 zA_D>827@ryoI-q;@yvs4R6M*Fd1UWe5o1)0hnd~!mnS!@d8$luIZyz>zH2PG23_ob zm;#|Io`0k!Cg$2&8&|H2LD%NWQ?Y+cm4oX|nDu)w@96TvQ|Bf#=j*|apa58Wy5nz) z-!?WFm`N$3VaBJQH%`0zz*pN37q!(_f_~3i+UzfXSCZ3`2zl0EkU6j_<1+|9o-eog z+pk{0=uvj*Fj@#ucv97)M#H18jtGqu=pq@^AAkFP;mivEC~d}h61*o*4KSHQ5cSba z?Abz*@_ir_I4rI#1?CHKTU%QTMf!(3I>sX{5hi5L2T`#b)~GCHVF>lVE$g4Xf0M^SMF|j^`L+>n9 z-4$6wl><>OtF^kSPqAy~6HjeWRF9R<|Gdh;7itw>OJvFT32M>~*tcw5B25$jg|OIu zxzp;Ap{1eYu~$={TWI6fgB&c<5X_KgA)`Tyr_JaVmM?{641^Vg0;K{~6yo7u_G7UD zlPw$u1LC{at-qh_afhBsgk9)qX?;!~a`z>>h|<<)13S>QC78&Xs7cDr{G18Ryk z`o9kuZ+G$g^Uc}$AtGTo%jSWJU)r8gMMfJoMx@L79>}sB931%8 z#uHg2Tx-JTUFy1F9erXpT$U$RzyF|^@qy?EE4>gAql@jd2_}lm)#$=R3xnTvC_GN(9WST4o@5RX={lsT|r z!_U8*zlpV9q5k{$1e{lh+T*)E)vVpIR*o7AO2N>&HVVh(uv9lSiOG%{r{hx i+!c36`@iwZ4~XO5U%b^||59MU6GBEpQM^vnDENP@vLJ>4 literal 10077 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 G$o~ViL5$`A diff --git a/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png index 65c2ebd4087b1781b3d7661445ee18adb9301f9b..8e1389eb65e687afd65d5de6de51a7a44bf407f8 100644 GIT binary patch literal 223827 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�!oG>XO_p_L?T$Ye{O-<&bCi#@W+H_}-r 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

6v< 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ς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

DWdQFD{?MxHBK4sx8ATQ^98ltH<`; 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 He)WF<C)_a9 diff --git a/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png index 474290eb6c771320424a3061322fc8ad9570a278..5689fb650cb990bd80798bff38ab4747665948c6 100644 GIT binary patch literal 10675 zcmV;kDNNRhP)<h;3K|Lk000e1NJLTq004jh004jp1^@s6!#-il001d^Nkl<ZcmeHQ z2S8NE*8Y|bf{Gmk6}zA@YCsSbP-E`}V@ou~@)Gk$G%=c(C?<KDmr!C$qR|*lQ7o}W zQNRw^EB06b8wyHq%krNyyLVj>6?UnsUovv<?!B{f?|d_J=FB-~jB;~x@d__5jLNzI zuTZvlMSzzauL$sx;}rp3a=aqIOO96rc**h75@7xM_15&qiBdHv-$NXw3&VyDODNNV zl`>vB0#L;_^d3I^J38!-r=MSe;lsm+4ITPjP*Bj;GALfD<E0@0ReY1VzP_JdxNyOn zPR*ZjnE|Da>o;uZXkV{hu)m+*htwlnEyZG%I$jC_czb&frb_*d4lOl5cW`h(U0Yii z7#bobCI&Zd+)#fP8ynk$dWw^dzP`S@cJ2(Yx3|wJ?Q)j}^qv4z`2(r)*Fp8Hl`2(& zkB<)~y!RgJ)vK51+UV$LY}v8}OMm<kmo8o6k1VOj_^yMy`)lEc55G+$DE$X0Vdymh z_U+qOgDU?QsGif>+8TRy??$_J?Fzh}3Gv~FA7cFY@#xyE8zLhk#pl!;j9IaA<)*oF z=4>vt!j}^CmH^bH8+&!>vXKs}^LeXQt*~SJb`+)+TUc0N`?hVM`*H5vIq?~d1PjK$ z`|b|9Kf6Q=Udqs00t5sEjHW-G`Ix)?&42%0sLGd6y?S+V&l}Fpc=YHIf7FcfeB0mO ze?`fZxNM-m1PBbAC>{Guor;DH8x}bazGvOqwdmfXhm_}pR|Kd4P$_v_r1J?ACTN}4 zn{U2}_U+r_$dMy_>P%BfTapFt=w8b50lg#up(&Jedf3?5JSFWH6|PSRz<IW(^tY}B zEHBVk0@RQWieu`QFOLQ~XIPG)uLMv(mx+mq&Y9)Q!&K)C%MtXI0P)hn?c29?&MY=I zR`c|h&KZ^?=qmxPO9!mpef;<_s#dM4b!MkdpVmA*sYAKS9rTg_uCA^urAJc|(%-i2 z+c9SJXsz<PbN4O|A3iLd#ta)e^m4HjvYbFK3BW=dk>HQW$jDiI{>?Yvz<by*n3@)C z_|DAC#PH$6k(QPw&N)vfC#T{sa2Y}`3Bd68^IO=#-F*@rR=a%pGN$_YVCj-2kjZ3) zx}W_ec+u$4p+nL~sg&oUk}7XmL2n7*=H_<K!^30Z{{8zm@cB<a{Uj=N$>PN@G&FqS z{mYgw$B%T61V=~5Wt6AhD1apBEddz&_U_$iU$5RzB*jnW^PhkI8CS1fMPNXHSR5({ zcWKQ3;fEjay`P`v$N&DaeEC<UP~=jFUK4;3e)#Z*G!$472}bdGSXdZdYu%d1b9i*_ zjJkE}strP@w-6e?eC~2bgVwEki(3DqvU!4%h29f@1VTBHVD$9q(~qs+u;EK6jX=d( zzqH=}45X06KYPxcISWbf(_05hy(a*JX9Yn)K|k!<w{PVKQ>HAqaNz<E2?o!(<pj0* z(ZhxfyHr|bEGxVe1d!nA>6sjL{`?2)*RTI>+VtteVq;?dr}@2|z5Qg8^do3^I7g%@ zvsOQC+BDmMz`#%G(2Ek6BZvqYK!i*y?%ygg0`QnhU91C?D|2j&nMLWAot@o98c)mA zs)k<VO(Ma%_4x?k=IZ)0eOD%Bii(OdU9n=tAgcIrbm~mW3Qy{%h4=8`Q!#w_SsIpp z_4D%!B7$ZW$L|(90sI33I?#i>L)~mos5Ei;kV@&W&(x{wXr8^M9GO^^NsFh3VnFiA z6p~L^X;nvAlBbGd3|`@s$-2;WoMsUbzE%-ICu`+mBS1t%L^WdRQj)gW?*4h&mP(Ym z6Vo|;LJu)^nvc(s;wpy@keBukQstY{3}qF)v$w<tRPkmtEKt993)E;`7Z$at6EKt^ z=|()_PQ>Eg;TuT5mqHiH9Ek*fMnpyqB>{H~kwELAp;!n&!j+j<moB@Y?7Gxo<I0X5 zJHpn+2Fc0EpaSF0ojkgf=EVN6q@*ObxpU^6EsnAj0fkcumLPie>NQtXzN*F7>(d<F zSB-*#{>w_rfI_YScT9EM>Y?Q%HyFqa5i)TtZfsyfRT-~R4yHU}Nv`=w+cM}(02)he zsOA4dhp$VYb?Vd!lO|5Yz<~pWL8b(SLLo@-#~*)S&6+hxNntj_!q?Y#3;pduB)Fn$ zd5VBC6@Y1|bfIBVRGd*IV|4N#g!+A3AnmbuCqiW{Gh~j+1QF5`QpF(Uxo`-qo7BR| z`JsFfct%4);|70!|AX3;L#LO(;}=QO>~tY2pDUXyb`Vv3K`<~dfP04yBF*^Z6AT<Q z2xrcm;jbDH2_l>v9bNU^6^lUvpE31(OX<+u(9{sU){ldAi<-zv%XsEmh4`HQ&rD56 zt10fN?pOzVC$EP*E!%{K(w|A5YORetr4s=H0s_WSH`GaFWMqUbn>V9t*RF-Sw?Tsj z2n!8G2O`7eE2807BQp6D0s84uriuXSF+Zk1?YQf2^NAO%9cv;-o>QoWD!wK=Efcn# z8=~E;t~fG#Cx6(22sJDyDCp0kmPI!L1O`r)jz^6gS?J1_P_0@ueE0qL=-<D;I43go zp&_L{kwCAkZZtv9XHMPr2Yf6uHb9H9E|6!*Au}kvNFqp(nTf_D+Tg^3P{>oWK|&$F z#L^=GR}}qeD;0>wA+7T1-K!UxH*YTa;>jrA!9;)nZOc`j!Mc%{*jPt8tjn#xRy%tb zR5FAjrRXy`84ah#Bs<h@Uk|rKuW==~&Gq%IMRHVJQS#A+0NtTdr?T?owbx$LDj!~& zWk=2FAAhXOcf$tu!YB&@l=w6-GBVPhy6R7)a~tZ$73tcmL2@#)VcV&Zk^q1$$x%~@ z0G|~l4_$@;b&bFM_S-sS19a}(xxjo&3&zIAs8ORvX()nfQBun|R`yk)$kG01bFvkv zT)&!h%5~{h)I4+{Ky~S$aic~$WJA=owJk8;5{7XjD)*vAi{Rnm!8!{I`s^a5>6HE{ zq2J^l(^xu@85;=|Kp~Bk3WT9?o||86>5>n+5J3IQ+=6rgPY+8QG-R31pFbas@{+eX zr5%*mg7l9P_}N5CCn&k{N$TClFrc}9u0p$BfbUI;O_WYqYjm-wdFVob2hssawOTn} zO2}usAOEcDiUC}~yu#LF_UzeS(udjESxBQfc$F%ZrH_86^fjemN(U(IrF2)<AGfo! zyFP5_(77b%u+|iDM`DDAkLL1P<!5AOg1F<+(rLV-qvH=n&O@tTR^ps=uzJlJ^zGYM z>x}m9+gD(|#RT@{8$gNm?G6Q95Od=ij-0-TK?C~2?1|-Y14@%riEAhvN}oWsB4O=S zMo|mm=H@1kh={mJ1jwd--}uh{>riCmiXNaS(?AB_BTvslta1jxA03Q3fBr&I%cL~{ zNb(P-2NA~`H*Uned-qVMP93fC+PYOEAXjc~6PjVPr2NloTQ&kuwRkKaN~v-|7v#w0 zI2v&Xt5&SQmTlV+myn3oE^Zh+U<lqBGaU8o>uO%kW1NR7F<5gI2<5yx5ru@ew|8%P zwm(FERB1Uh1Gw_nNi-SxI&yOqg?>1qj8GHb+I9(9kJ1GJsAt((=nOQVH33{*U72mH zwr#>Xem11!F}0{TcI=p@={3WFUes~w&Nh!9KYsDFY10lp>s}3*K`8;VR<fJw_^D@0 zOHD!4`LiPW$F{9IaF&KHF1r9VqBF-LMEZ9ATy*H@iGc(9!Nb!7jU4K0_6!WRabQ*M zf1#8a_CPsIM56%AojbS9iWMuS$HvBvfMkiJlK##vJb*@hTLR`vRc~RmfrbW#$Vtq> zNx!{P>woCu<Fla<@98OMO#rr-@tHdHn}EQ;Rea7?wB5ROE0Q)aAt3>y$BcPmg!yD0 z+?3>s;WTIV4hRU?O%L}a5#eaQ+qq?Pi)0IqUeNFemcaSOKYV~4+cqP3*B%@^bO3kb z;zgxPFS?)?o}QM9kl^juvuhg(S_Wv?xEXr)?n|jB+PgTTYGo_wQua3+rAiFeX7Mnw zjnZj<e}5+`|F=}}U7qz0((k8W`;e9B_4_+8tz!;(R(8R|L9Vjp8<D^rcPs`WWB-CY zHA`y!vuJpE{H))29&}O#vq1+91LJu;Ku%rifPn+CX7y?e8Z_vI_p;C4puvN2<%)U% zkoq#=d8;`kka4&+B0_gcM}PnQ_m!hYjbiH}9@E>S08ib_%nY14c}&Cu+7l9nGw04D zJtI?@*>fsAKg4PrUq>(g`qfKV6v*j&SXfntv$G2Z4jzjBeS4w4U0uyt3=5fT*fA?T zJw3Hnty&hHJ9n0GFURKSnjnENjDFw_J>Tf0YY(yBBM^?`+vD|*Jz-MG6xkVBP{?z{ z?;DyJ!I%WTtn^Hr^4o`~pCX{hR*1@{d{+AT`Tg?32YLo{A^`OQ3V%Pp;nH$&YHBJ5 z4;dnC047hGgaHEvz|!(bXg+B<cr}sa&p-c^mV+5L=FFMXqq3EiCAAn|dMPYX%6Mwd zJ<8CbLuFmMbZJiy+dh98aw*Ta`**Nw*Dh-1!8m^W7_Qw=_QXZ0@aIFOo~x&)Bx8SA zh)6ShOwg)rJ9u{XLbtA6;O6R#DyrVW+}ym<=+UDwTIG|-1fcPs%6I%2O+hEouy86S zCdROXyZb|W-j5Vn3fcLk;kdZ+DC%@<Ak@SbHR;_^Z;*8J5gw4V|M2u3<%~g97<wN| z!w(<+NS7E0I<JY7uy%KE&6;jrUApXtDl7|+>73{#z}?+lMCoAvIyS>Dz+F3yDu2M- zIdeo4p{~CFmtTH4lVptfo}Qji>SvyYT%L`nGbgcf`7ijBUhG2>;-prqdxbwAQvO_q zQ%53jA~GC)-_1wkW{#Nf-b9QT>5aOzYv$2!G-=WVpM55@v}`oP<Mm>yxP`lR?)0Gs zluAS1Ov>0WCo>1PL#~Nbzz<86pXlM?F=NT%#mjXyUM&`*2&$+IVq#BvkRLTo!l)ZW zNJz-@ZoNp|*SKjuKAKa%Pv^~>H>aSBd2Eh2bWj9y3=P?hE7a2Ea^*rwStyePs6q@x zrR3t@%Tbv5$w&C|i<xNsdRz3Psd4}Q1JJBVLztT82{OS-6MsryIypJbBNEJBv2x{l z5)>!W`x{Dm)_TUTJ)~B@iH6?)(L4LMIEr6vRx#{36B8Z%mVZFN!WS5Ya=(9w1jrzj zQK;r33`_3|q?4SS9NdYyi5)w3VE3L7oH}_D(Xn@w)|=eYQ5@ZSapB1@kxg>Q@yNqC zMroe!9N5^_r`bej8WQ`V3(YF5t5%V2Vj<F>-oXLt0Z&k3ll2+Yka%f#IHhJ#Hl|aQ zRtK$HcZho2<l-!Kv71E^Gs8Kl%))uexCxXJJDV}b5`&|jV-~K~CLR1^IX+vo3`b9% zLAIPZqI$uqiZAz2l{1HiiP-3C`2Dx5lzxF#Wox*0^g#c~KKP)odJ(J-lqzB#Qd5Hf zHj!h6lcd97x3qioU9p&gYof&L;#e@D#D*P3G44=Xx7ym(q8DgDQ#naN!tK67RQ=OX zPjg9b$d<#<&<HK<YieGR$EsK50CEGRfb!-Uqz=W=$YTI@hrNl5QRlF3-CsBy9*NUu z&mbi=qf`XF;((;zu&PoG?b^M8-hKMe6nP*T*xTlJQI9B-0;2p8U>~Jbl*aOj8O;FN zIJXyxU*?0jd)ONmiY<R{#=iXr5SI`SMUHOEsl^FRui{2cTA)YoUg+PaKU`eeXey8L zV-+-rU)m^d1Yodh6k7zbHi<Q8EEpPdi?3DN2E#{;7AY+$9=*DC!NKF_L=VfefG29* z(vlN$#cy-9TUuJdy^{y}k<`xuUlWJ=FfBMl9c%2^ggZ=?O4}bI56U9}7-v<<7fK<L z&8T>KsTQAux2?c|V`r)2Ww2}11i$_GGlKs71>1LqAogCIQer5<u7O)SSAMHD?J#Qe zXbc@R2#p+`8<CWsXECL<l!{f7*9GO30GeP05eI(e)jf{TWs{zC4<COLAS#$E;j3>K z!?UZWNb?^jAmZQwZ2Ef>!XuC1>b2`Mi%{wcbRk5ps;QfpnWJ%&W<uTFqjyiZw0#{W z1slZhOozvI4p|>cDN5@fFF{lU0!ZLR9~(Xh3EqM0ckhYT@7T5@M)vQfzNkvoYUtT- zph)uUEL^{O8C$k(#qM3fh&*x(DH)lC(;sjPSN?%@jT-Ri+!cNM^+p#jPuSJ9fw576 zuP%wwawv^Rj-eQgNJ<(Ni2yyNgKZ=PO09q7*l{povno1y^e`S)Rjb0-Sov5+#wKX$ z*b1Le`gq1?NF<>#BK!b01Z_kx36pp3KCz%y=BE_m3=9m>tmSJ$lgE;KE63)ru3Dg3 z0aB6^VQg**QzIeO^PoQ)S{RFz6)Fk=xQ`V|qTF0Lj-S4uZo%E&^i*FoYu0px9z2GD zG}U5flh&<Tp^BB#H<7QeTD=B(^&2cwMtT~K9f?2~5g{}*6j!guz@y8XaC7f~uAW|S zY~Hv)^)l-v9>>Qcc=tcp_0KNs*trWKr=rlho-k}>yMzu<3U?I(6@>t-HBoN$mi_<_ zA1OVID_K@ULmM$FKqk+EQS1f$d-W3hzMT*M@4iL-hD|Ya*f30*FdmH>)XUTDo0(gn zlV?|vKK~*ciAhOfmyl<H7k(lR@5f(jR%2&yC~n5yQRQcZsPiBKs4sn%9=}|oq7WcZ zI!L9?H8DwfT*;;ej4hN?tsEF2HqBHyzN=d9t$#1WZ^74CvM><NF74sz<s~+NaBkB& z&*BUlSrk<HJY*a@b_AgzA=vTHKe%}L8gf)qO{sU_9?2w~<vX=$dxZ)pRS^ilp2s3? z3wOUieE%I%(lf<eKRNa;_U_(~0lmEF%VgY5iOF-L)Z#PKQ*m%#s7PP?ehFK<`smZU zkC5csyS#zQG)!=X%Coa^C-xThg@$3v_ANLZegtt36Y}JjUwCA>!MJ*!SwKa2r)pG$ z!oDRP?Ay5xv*!m2>7S97o{Z5WhvCw-8>p3=j;wp!H9W_?nn4xDD~!v2S}YPT&Nw-> zM7uUEv1ivVT)%Y-**OaJOyNbd1^)KLg-00Rss5<aGcPWOs0aj5hx9zS=U^VSFCV5R z#^ZF<RlMnFkDP3l#0$4*Bvoum@?#u{Jc!7MgX+%=ilQ&zYm@V=cNN(?rz}ws2%w%) znVA=$TBZ87Ff&K0aRTniv<;Ob(`h~7L{hva?Fx=TTTW3C2*BpngZW_C*pc|}l3$RV zoG#urkH3xExWl=1Q^ZG|Kt=)^f0q8rP{O`6@T#@UK*Sohvr)}VDgr730a%sF+r67P zG<Cu9rT!Q`W-_-~65gy4x^o*WO$}kz(h2R`J0dKCCGyfEfdSR}dtdZ|q%v5!a%I2S zvuB_6@$p$iX_Yo%TOuMNjALVCc@2cEJ=v<3t*CC=+1cH2b8{<JqmU9Mz+7M7%D%q7 z91Vk4^;nh0wttIq6^b)O$cELa>`NyC4`tqeBIzfkrQ+Vh4A|GE2QjIHKi34|_4aPK zpHMn$E!+e38#@l~_I#p>4hjn5Kdk}+0+vylMCZc@g);8oV3FR#hkttE!iA}HYF)r3 zj~yKy1A^AA`_{?HDYH19q1Xw)reG^pu51__96T^GGLp4-JSMUeyMgN1mFDS3hYcON zhg!(r#ON2QO&>gXfSNUx7Bq2L8m&7g3pvJ5#{F6iTVVV4e=y;_aX5MYN{JbcaK-bq zao}6;V)?>Ab$`Rr#?PM3v%1^P+uQprRa%hB%jr}>`O!NwpFVy1#Pu6CaK$%x&QDh* za`?7v)oL8Qzd%1fzh%_Jr0eo5#Y%wn>(|>(n?5~|x-WLzFj1;R^5{iao99He;zSQS zj?xvMsZ*!>`}=P%C_nnV9edVLzFj2(M4b)SxFQ#)k6wan(<d(8ZQFN1_|a2BW4Ceh z-#BnE9LcGvs&9)X>`8*1v_`=HR<BV9UR}H4{r^mXM@MJ%l#~$n-h1z{pJ0=G+3*(h z?@|Siqi11@-nm2swcjI$+M!m@o<w<sM>dCNQ*z$yiuW$QcI}#a>l#7>dUt{BltaBi zKV4!f6&nFKL@Yfd8#5|hwCJT-nH$2TxjAZ8q4C<%3~`S#aO!FnZpNv4FPW@qKw#h& zdXVpS?cDh}b!$1?gV2lWO^IX1cu-3-Xw#;RGD}4c?%&q*#grlL_S5corsftHJ8`l| z@ekq<9)3t{8-M)7Nkm7-ATc=^si|q|1t3mJFQ8nZMU>91tSZB@a%Hq=?g$qb7xd}d z8?Uu&1uM&^d==JEniUoncAv^UhSG;nDzG%^#$HZC=p7BBw3mpm*v{VmC>`&EMynq> zWQd5j#M{+su0^ngH1B0V?^!tGs?dtav!4bXcOrpS`{NalUx1faQ|kV>6<dp!NC#tk zR>L>%S3@0h5|6W~?XdT&i6!L5hS+~02eTL6$B`>(OacRXF`rVmR-4%T!Q8oXmr{#) zN6MQwdXhGK%FWHe)f*4;*nr)*l_$0&FU7LZG(!5Idd*tsH(;<xj1;Q;q@>3<b@BxM zy%8;5a(Z$ij-NgcH+Od$rxao}u${9Dnlx@iEzukn=H}0ObnaUIkJ3s$VMAEzwSMJ9 zUH?dG-9M|!qY19nu0#@cqGWFtwUG-u*UtR((<je%<A!MY&d$!FC*Y8JoE9utfLWiZ zLjlz%S<8<I@D{W{aYPEWr^;u82T}R2HL}3M>9x?YkpW~$*~sM)UTM!wGkOIKX};9O z4hUUngD+MkAz-b#LdUZEH1aK`a5pF+C-V^!Q}3&r75}|-D^ENLZguRP#1+DUi&${X zV~l5MWhIhrU7fa+<<_=}(lR{5Bba0Mku-mRTJz^53o)UeW|6A$&CJZib~e)1c3D|j zm@{XN2w%hQc1$e(zE`ha;`>jDBpg;}(&Wj=$jIOT9YZ<t=rkXn{0_7)gszc7Wz+>R z%k8-GUvF%IkRNKpI+<E~l0xOml;??+=W==*$#VFOu|(C%GR#>PC%HY<${#7adGqFS zshqcC?jk-(W3EqsZeKkQ1q)?L60zGAYvMvw$x`(hM>OMcq$M~+ThYN*Nj!52SEWJ) zh#&zsmPqg)cJ`oN;XNV(H}Bf{uM6<^$J=AZsLy}@{ddvICGfDwewMuZnS+Ca7@jyV z7s~|ydH;RB#E^QFc|?Go`SX4ebd40s2AkqX%}opt^i3UDr{++ug^;v({7qBf^TCyH z^lWA9h)l|F-uuYa)phaLUw_R`5$r~Vga@&Z%X2jZFBuY&?%`3U0@cmb8dzSIlje#% zf8MJ~61XMS+_Y)aJDWFep2y=o3tZOL*75X`r&FcnK*=y(bLL$_S@P0p%EjJ19Q%;S zu#9?yDMW<-qh}S%hmI{;VB*Ayd9FWy{^{5l+1c5`!ITLgf$v+gWC_kkMRAbLH)$w% zt*Ak_bs_)>Z|{O%7QMvx2USNSGam1Yrbm}iPx0*s)v^0nGT7spKFg&k&J5}T7pdmD z>ZlV}PM>>fT9*<35O;6Kp?V{=_KkOT%)2a@7d&l>Ub}YfA@<hQz~k%Jum45_D17;g z2+BK^NboHQn(P}WYJI|l2~QcGbm`KC8&{ssh@fcOwr!rz_`Y|?kC%dU8u<G9zE1?0 zj3Pj50z^ec84~N%zD+|qSE6>3E8Llj1iHROEg3q$W{J>K$<iv#37Y#$8ZSrb(&(h* z{5yI<A<sstoI43M0rI%qlv8w+4%)lAKJ{hq-n~JUDH5By^AwnRD~@IO)U`ZY&_Ji6 z7DQ_TP~o`p#n^9SZHyLmDXVNPH?K%nV7OOhB>|x9Ssb05ZhLxqvWTzler>I-U|qF3 zkwl@I!YN>4Y>G;jd5k$Kf<2zPAGfRfv`E4&`-?BW5N2(+Zrwt=cI`M8K!F+6%NrY@ zK~W2$%MifAm5^+0s~f?}M4>c<)&|6z=JmN7RQDb%?y~(n6M*9m2!oJLeTLxEL_-q# z6hd6!NLf}S(KoHFZW&wxt>WgRbS-(*79=JGJC6v0w{G29gy4Oi>wCT!jYZoW8M+Zb zeJ`6x3tt?W_V3Wh&=9JKEDV<Dq^IT}OgtbO*RR(UpU#}|yli+-zo%spN^{E?*4zp8 zB?ru?UHi$zATBOWL=ri1;sh>UyeKxX=JB65t>%cPJQdUonsGbt4lG612<k!re$gzp z8Kk6TDi3tXEG0v(9N(2f9xt9qJ9XZqw1m>s7i7UvGXJAP5lR#6Gav|X>eMN<aK}+q z1`i%A);{uscRXdi0QU-f%%S$B`}5^nBxp?l8k1Q0lRyo>#?`xW+)7Zu!9)uokRUUY zVe|ecYZ@H*$jQ-BGirzrl+im`$<tW6P4$<BMfR=dI7O)_Jamh1s{?43vx(#!p}E_( zeLKdE9gBbe{Z~X?FR1c0!8@#s7%>9d=|1lMHDfGNz8jx&Yk|<30RH~|w*mqK4^ur1 z$fWt(*2r{x<YiX$k(9>qxGV$w8LEzQmhJE7w~1ax{s4?8RH?#)rnno402~CU@wRQ- zM65&}23Xz80XJWS%9WK)D#wo>7er9u8s}Tovgj5jZtB!EL;_y<!*_oqU|gSisGK4% zn!mP%4D(kd;c=SU&pXW3)m87dY1age=L&jv3+Ubb!qdF5<HiZo^WflM(F+_sTChf! z1;a68#$eg9Wr(Amf@3U79?_g1=UddW=tKZFH@AQ2As$l6YTSL44ga82%pGK=oVXQ+ z139_4mST*bHYcb_L*3X)UBaGK6pSA~eigktb|Y)RDqd$77a;@e-MbevXU-Hmt0g8T zid8`F>Uoc)>C>kR?cdFtH{sr~quA<Rg`1q8Hs#QX0L0dG*MNX;A|oT&RTuMD--lDv zy6|pej9gv|c$PdMh6x4YER5kjH3pe-g+zeUetv$NbtzLt0WW=1tDQ_F;6B`lE0ed| z`~Lgyd3eQFUwtKX|4aZL8aNs|Z_M@AUw`3~88b91UrzZ<;{3EJht8{kLF?8n>e;JT zJvL*adX$a+{5IBis)AW#s-TT6%?q*=%DDo^#5bhLqOpvmHW{{@kz<;FG;YVM10UYw z9lMKbPh2ff>N|&0MF+>m#*QI*;5Rxo;Y~G1jvR>@RKYyuYu2n8tf}%JQ%}HTV2dMO z7}7u%^_cHaKD)IogU$rty=$Y+pP%OK?R|?4JLI`A-njoUHXlrcOEYuy?qG=;RUiyP z9zIILk*I8ho=nC4$Jy$@ha~myC&AB~dXyq<cvQ?N6PK=_prEz>0RcCtd;gwJ-Jvub z5ktUpz-2v5z2(QcZo6A-7D4nNKRC5)nL$0l5)tu|iWqSz9T67`u+@JO@sbg?Yv;~> z)P)uM*61%lnN0)pgDa6zCu&6A)QC6=`SZ5Tc}T5(3cc@j#qrz4Y7<C3!OzpCO}nbv zPmtH(t2|>yzzn`c(*9EF_804F*r*LyuwtQ#V-fSTiX`tE)V*@xMy;Z57YC?PgCZg# zwzCZ+^#Z(k7W*8tK@00QVyLG)L%n1OuPPSTZx;Xd@&5i{oaiB{QR+;L9t-6v73(jr zQ>Cxy(WA%S9^JcNpa&@y)8-;V>@6^F-n`M8`vtkXyYq4)tDV^rgEeZ}s+4sCy^}Ob zY$Up^G=8td`~rxn36wSy3D|;$mEF8h@t6p3GhcYv(g0U3hhODhiB~aeNR=NScMtay z65-gKqq2(N4y;;ZL6k$c@!A3hd$?T6<t;UoxMz?`uqzAUj@8Dz38l1yh<eQDHHU<U z4-m3@H#TqHh`7XbjCkuU^z6|Sb!}_2!iAUUyi|$7hKJlDnGn3%SZ<<x>57Wr8demr zF$f#i@xswl+9a;{%NL`t{O6yrYW43(c+5t*yo8mDusy-Bs8ktU-|UW2BS)ZrzdkTG zQ?IVFP&QVTxbivN`~RTaA*4b>9|*t>6>MV7Drq*aG1L5#cM##I-CMS9$Kk_=aQe(S zWMnE;4NunDl^#UtY022WWh13csPE8FEWLK}@I>d19bj9hwq%aRLKz3MWD{Nv1INA) zJj|U&#V|(6gNjUm@sz$qzL50X%J0NRV|VZ_?B2Zx;SmvtxvkWiy=Vs!&CjE6UdK;M z7vrZTi(qC^2`=qBh%IiqcI|>DjT&$iP##h`s}h5I241$FRjf~0!l<YOU}sbHJ~<rm z>quk-4jwpwJ$rWJ$gz{i%2t{u>Ea(KQ|T)*GtzNjUx-NjnT@R-`t%!s0sZ@;6ZH;O z%58DDXP614(6~p}2P`dAR060iA@}|HBc{v?#DyzQHf1Uar%=uO?%s*TauH%?5$e}- zz_4kv@!^Pps8>@MX|TZgiU1`HwKvY|o;@+;Q4Y3l-Hc-=P9UD9bZTF}5`bitY-(nK zH=Ns}U%$Q>(61Y6S5Z4473e8cUQtmAz$<9SDZNqE)&Y}0n1V^~e}L4KWa0C-`q$-H zv3hNu8?+{bDr79fzClA))QC`XJ!rOIOH;;t@r1bYw?3Uo`9(z~09y;ORWeKeyxqz$ zs$e@ytIFuq*%N=QUJ4TnORQM&8*<YhVePuLICMB1iOH#j8Xlxp&cP&GI6A?@(+h(K z4TQ@ZZ40vEeF$Z2VD9!gIz&SL3(7MpDgh*fsuJ%q#&dGp^puBKyKx5w40#))hATI) z96k13F>e2}^>6&TYBi1=KM8qGu4+w6Nd{%5D?`9nt5F-HMvcZtQ~ysy7<~qKU6un_ zvM`!dvX5DEsOSWcz_llQ?Jl1>iARa)=rdSYs)^Zwt$lsi+1ADQ$sgjK@sn}(^a-)` z+_vpIaN)uwWGfVC+^hxq^y-Z_yLX2(we*_Rs|ivhCnw_Akx00Cc){FQw0`d9+1Fez z>=X5c0O}w;XD*+C0acWn%Nyc+-Li#P^4Au;@rDaLy*$yQM^8AnYlF7Vu9!3LYuvpZ zgZRfO!b#J}$WYkW-M@PqOBb)fRw7B{(W6LC%f-bj(P-)*R%yAX(TmDw=nDbZm;yQ3 zso1nB7&1i;qRyO06B{o)$Ve9Z_(dE(Aku<wzCvx9$9M1EgU0niaB+SE4I5O)!M!2W zD{MyC-hH@s{f1gw$U}sou`!HI)k?k=W%P_C0(~F=+enM0z4gm~z}8)1qS9u3y#W2Y zd%`e={Y&!32D(r3!0KOr!EY;<!=jQUY--oUzf|d(0-~m%$XmTVdYlahWjttJV_+R} zku7k`BlLj)>SxHv$W&Vz<s>P@#?lXrQVX<DmMS|VJr&n)q&|P^S?W<9B<Hcg;8mhh zH)1IX=mP<G+Qn+XCU1W<6C1+zW9L5y;qO0J7$sLStESxd<(X5z7e@{=HZest3v~== z9t%p{fV8Bb4+LPaDfuS`hUPG*M`G1YjoQ^9Gc?4KmA~TlfI)~jep*~uScQ<J3#eM% z2LJv3e{gQqK>BJ0wD*H9chDCC2pJ$ZM~;~2>*9k`N21`~ss(D=)W?DFqX^!)1G|EQ z5fKrI%U7-<Ej?XSvO*QrjKQ`6M#e^{RkIe{+&f{&P;d0^*&SAv>iABZC`~E#rz=6| z3jsv`oSBu1=zB_=&U-0Oyvq!YjL^H^0Fl_yBKqbH8uzc`(&eip&E+8W-b2*2se^j; z9Z;{HJscbwNGp7rVAb>3(s-ECguW0!IM^rNy)LYL7}w9_ag}F-01-om_w03O)L5jh z-MSYhZ`Sy+(FeP6>5VCv1brX?KZA%Pbp6_8WXY9dcWhjq_{=<RvppZjA!G|89x^y= zTtVSExWd^rog;+(t@^9C&<6r=RBcg_=OT})r+2sSL_<!~KqKY!j+HmkcC->W3W>4C zUzYA!xYIJwQN@Hl5J0V>vv+KW)~(yX+}sq_4I07l$=p7rfctXrl2vv=&<6srOBt`m zRd(q-5X&043Z;&bnVF{kC$g*xSKgry1mIRIj4`X%vID1l;4yvuQ+K_BfIbj_!J)G` zHZa=?vVR}z=~)`QKxrqGjvcR10Q7|bj4)K7J$uUw^oankpaotL;3dZ^0=(pSMSzza Z{|^`<gMgXOe~<tG002ovPDHLkV1mhCy{`ZO literal 10595 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 diff --git a/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png index 6acfcd68dc932d24bc77f1a305be5bb25bb3811a..e90f50e662761bfe1c0f070265254ed375ae44c7 100644 GIT binary patch delta 708 zcmV;#0z3VX1>6OYB!8nxL_t(|0b}|9|33pR@aNAT#()3*F|o0+{l%q*1((FTcklS7 zO`CQ?NLW}(M@PrQ&erw>Nd{cFa6vCTJX}*nMTKGJ%$Z&U4fy-_FUZL(?Ck7+Kzth; zn-g7KUCVy__@S1NkT3_P?!m){;tc=)Gb$)3ynq|<`SWMazJLDyqf$~*>e5nDp<Z5I z+kpQ5<Kp7daOB7lbD%38fz%y8aonK#eE(4fhW`vL28Fg(mR9G$23)&#O~cp6$I!^g zh@rEqD+Xi$P*_}4R3u1UUBdww&@UJn84s-6vLR3+Mu7{Y=j@^Lrf>s{jg2o%o;-Ql zvE#?JS(upE+ke_xZ=F7MT4~qr-OS&=e`f$X*TdV}`;&l>(08HrUsf|RGQ5q?id_Wv z0t*Yv|H8t;Y!Dl0o7&nnt5!XK{*u|)*ofiQtvd`B78VQ^mX`N@yuGLM^YbqRD*J&m z7JyE@b?@GN;n%NTFns#_g~7qWj$zl%oecQ}MaO`eXMaM|1~V*efDHf%_SD2IV0wGp z`6Z9<QU(TQ-tx-oi`%wr=6U_*jnKqNlP>}dd=MWWKar1*&mU+DZ){AAvzeLM1+W2^ zFJD%*;5ig$XUfjddH9BbT}Z=G1qJyv&Mqz|fU%$#9UZk2r0&z_&%u9w|IYjU`!~b+ z^XJ{*27l=4>fY{IZn^5>o->XHKG_qkZEQfXz`)7LsVgBN!3OglFbuXgHa4#O^Y<@b zaZwR!AXap(4gdM`ClfFs{R0Zg0sY;vY}qpJSFc}le*gX>AvP|y9q9Z$y}i8=IFm9| zGYGu;{r8XIt5+}ie*XH+prNVxmxG=C8s4Og20ea!{qpsHVq(&Xx9{G4)7R7M28ul+ q#Q=uj;NTo)W@b<Z`i4sl2mk<R1RUmS9k+x40000<MNUMnLSTaW&2P{E delta 631 zcmV--0*L+G1&{@hB!5>)L_t(|0b}|9|33pIfQ2I6$OfD}dzK+AJRDh$(bLm&89yJN zz>1YCgMj?+U=93i4D+`yVXzW2LN(y$&z}tU?%qW<fIq<BKU79WhN-QsO$Erm4AvmT z&hY*35A0rGWo5Ph_y7NozkmLm1adzBU6jqr!XgRN%+15&&VMT=AOQ@u%|PxubOY3m zA3whD_3PJvflim1JbCh~DO08#`~LmA=%h)L81nM+_~IvJZIRZOXZd#hy%U2Z!+vxF zUawlU>dxQ4f4`ZUnwFcJo4@?_?OVv#Z{N6#jE&dW+uMuW+jVWno5PQVHGCy6VDrNJ zuC6ZiWy_XHntvD@9SsT!QhfI88CYWZvSnKN1%(go?d$?{b#*R=`-Wl<1CTdo%$V`D zwx)VdKtMq1$B!Qw7#SHElvPyz+`e_wZN`l0?}2Jm82<migUtZGIp)5%1emzlfv))E z>gI9x@Zm!|fByVov9q(^7#1308W$HgH8C-fmywCd41cKp9J&E4Li~bUf}C8ewsvNd z-Q3;IZQZ)%{;yxZxNWShjsXo~x^Uq_{i8>ZI208WeqwXMyP#c*w194AIa(I`;Lq>h zzS`PaP2a!&;C%Y@>EewWH!k+@^fdVP^($9IM8sQMVerJjz<|NZ%8KE@f&IP*4<7RS z^yxE0T5wwW9$Q;m23s4O?>l$y{En;vZU7S#6N7-DAj7n&Qy~Gu$N!?KscFuSA3vW+ zOG`}$iRtU>GaNa3l!1kX1=9cv3k!z#@7}>BjEs!x&|JsR+1UxkSY1Fa006?~=Nv;+ R>i+-$002ovPDHLkV1j(+P2m6l diff --git a/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png index 0b2eb98769c188043f7ebd27ed24618b66a60c38..f085db8bd5d93e5832b2973ddb2715bc2ac16da7 100644 GIT binary patch literal 24794 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 R^8`R#DhitN4YHOI{{u7T#YO-C literal 27381 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 diff --git a/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png index 6aa31251b544bd6a2befa0c484bc8ab192ce0a87..f9edc627444dcb488e1cbe93631253a89403b01f 100644 GIT binary patch delta 1806 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 delta 1608 zcmV-O2Dka04%rNlB!3`DL_t(|0qs`_Oq5p;o`2beWtYRq85R(QZ3@U?>#|TP$3lak zmbGH4co(DumB0q7Rz(g)1w`G%D_|NMVM{SoK#p)}wIG@z)PjiAgF{h36j+v(W4H4! z65N)pi)~_)_9c`5e>3yXd~e>&y!TV(ayh)qL4Bv*{|BH7K!0v-E@Wh6Ofd*zIyDQr zmR16lM$;1y4justrCLc!=GLqH(qb`T`K~qag-wup0NUExpuD_X8Gv%K((LEYudJ-7 zVC(7WL1<{`lI-kkXXLj`XHT204-SJLPbZqe7AQx-esgFj+r-2~F%bv^^lXvHUkQMk z)ulcFWrOY2)qmBJ$jC?r39PoZR*v%9YTJ4%0Fz@P5`CB_8~UC<KVdL?HZw0T?<n%h z{%HVyMn*>4Mn*=Y{r&y>aNeNcPDSE8=70u1osf1-^Zh4|PEJB|7R#Wzt4@R=DnVYU zx&RzDhlLfMIDVWal}aIy&-bdTtYjnqxqm<akTEDOE`OfXRUmS5asq2>YrtrbQ(bEx zyYH_QU7aN!m%xV0F_GfBo*r1BJ^;^cTes4vR4VA`=#W`%P*qjMC08Jbjs_neA2@yb zG{nTj5W~a6^4Qo|NK8zG#>U1800c3I#ho`R{Kg*W9~Hv}Q$Cb^myd@2>_`=W=8B36 zxr2iPL4TeVxOy_lRw4hEwzl?Tf*_2;!^4;Q@OYuU&z>2&y1I&ycLC`R>e!%eoTTi@ zh+EJKO<NN-)Sjs#qf|MaBUJz@V`5`>mz9-8i^bw$%z@n)h4--L?=qQ;##5(GeprxS zK)rPNGK`Lng0u621A&2o$==@HzwO_jY$+BG9)E3YYWg6K7afn^7<II_XRckhu6#O2 zDw9w)KAv1!T6(~S&6Z!Qso_^uR_r`>Oh^$5g<P3Trleb6f0HC4K7KFT+S&$ItzP{V zZiVK~9XnR0rKPEI@z(%e4f&>x8^O@fu;#NBL5Fpi%&oij?A4~xG|*uKybffJl@%=Z zTYoI~_xJDe^7bmDYG|Ab3k!q42LNk6F)0b`?CiSveExyHzTT*KOtxQtX@I1peQ@_~ z3-tF7z`}(bc=+HRxNzMDtgPl(-mI$|fAr`Pd>I}-)y7qH#y3U4@#V{xbm1}K&jA4e zfq8j9(Cp?rLUMAlLTGDi2eb6`AR!?^5r2&{-+ZgX<9YAJoJmLV0Mas~xk!ab_htkj z3{20xziMf)hM5uZ;&9d#UteFEyBilcE^hGYvZYW|TmsF_w_gQ{09!kI;Bq<lb#-+I z5Wsb92IFZ$eEcGOhdV7TWFuRIRIe@oSNo8aYl15tphgeWY+2(WW{myV(a{ETyMLd` zF60+{-QC^IYiMX7BczEZV~drQ)g=l+2w5!F)6ULL(Ym#3J1}aHm6ZjV85zuIfnYP* zjZhbW4#V6O5Asd`=_oKQ&A>oDBxjkKfrW)RDbGg7hoYjQg0WMw3JVKU(K%q-hI{w# zlkyjXgM-r4)KqOesKC+D5#%zNbblsWaHTcjWc{t!@C90P&7nCWvAs3K`}54qObbk< zA(VHdr>El<G?QIfo|2LRXV0F6@$qr6FgJ(Zo}QtcoSZmJ+(XXJ&Xj`(54K@bJ312p zBPr17k&?Q5HNMl4M8Q(GUVL^>-U<+aji-kPZ%86B2@Vea30XI=OUlTL41eYe;P#|p zFUZFPvBV0vh5#fp0YDBhlHy)Qp-><+Bt*fK4i9fCE-4Wd<mcNLUc5-21(21Uy#zbq z<K=vQj<K<^0NXftdU`@rQ&TH`()t%Z)VmLGI2^z>t9YkqXh^aC=iycmbh;Ldjg0}F zP6sA~IZC6^6st5aFo5;z*MGzI?c3jITP*-VE2l1#nwpwdB|}465{U%d+&%&(lL@ug zZ@~H7^T#O^B6U&^w?iG%ZwBDP<-(STEw8hNWpbck1q_HpA|0#(N?crAI~KvE*OmPI z{N5e_gTVmu!f9k|48=u7e_V|g&)e%EhvRa@-Q8V;b4{ctNJ=M^zCpe|n3$SQOt1}; zbF~3PL_{b^#dyr~@tvo7O%sD$z>}`7H>v$g|BU`q0DcD=jA_5kjwO%)0000<MNUMn GLSTZYJO?WP diff --git a/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png index 8ed5feadc2f92cf7b951ff40e56cae15e5c6f2c3..13470685b34a9dc465200e9e94dac7bc4f37c24e 100644 GIT binary patch literal 82763 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 literal 82914 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 P{3*VDC;MC4*#G|k7&B=u diff --git a/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/school_data_hub_flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png index 74e8d185e83626183618f2ea30ff5970a1fd5a57..8321ac82c168942fe4b306687022f141c8c621bb 100644 GIT binary patch literal 4496 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 literal 4167 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 R!j%93002ovPDHLkV1hNu7$X1x diff --git a/school_data_hub_flutter/web/favicon.png b/school_data_hub_flutter/web/favicon.png index 6acfcd68dc932d24bc77f1a305be5bb25bb3811a..e90f50e662761bfe1c0f070265254ed375ae44c7 100644 GIT binary patch delta 708 zcmV;#0z3VX1>6OYB!8nxL_t(|0b}|9|33pR@aNAT#()3*F|o0+{l%q*1((FTcklS7 zO`CQ?NLW}(M@PrQ&erw>Nd{cFa6vCTJX}*nMTKGJ%$Z&U4fy-_FUZL(?Ck7+Kzth; zn-g7KUCVy__@S1NkT3_P?!m){;tc=)Gb$)3ynq|<`SWMazJLDyqf$~*>e5nDp<Z5I z+kpQ5<Kp7daOB7lbD%38fz%y8aonK#eE(4fhW`vL28Fg(mR9G$23)&#O~cp6$I!^g zh@rEqD+Xi$P*_}4R3u1UUBdww&@UJn84s-6vLR3+Mu7{Y=j@^Lrf>s{jg2o%o;-Ql zvE#?JS(upE+ke_xZ=F7MT4~qr-OS&=e`f$X*TdV}`;&l>(08HrUsf|RGQ5q?id_Wv z0t*Yv|H8t;Y!Dl0o7&nnt5!XK{*u|)*ofiQtvd`B78VQ^mX`N@yuGLM^YbqRD*J&m z7JyE@b?@GN;n%NTFns#_g~7qWj$zl%oecQ}MaO`eXMaM|1~V*efDHf%_SD2IV0wGp z`6Z9<QU(TQ-tx-oi`%wr=6U_*jnKqNlP>}dd=MWWKar1*&mU+DZ){AAvzeLM1+W2^ zFJD%*;5ig$XUfjddH9BbT}Z=G1qJyv&Mqz|fU%$#9UZk2r0&z_&%u9w|IYjU`!~b+ z^XJ{*27l=4>fY{IZn^5>o->XHKG_qkZEQfXz`)7LsVgBN!3OglFbuXgHa4#O^Y<@b zaZwR!AXap(4gdM`ClfFs{R0Zg0sY;vY}qpJSFc}le*gX>AvP|y9q9Z$y}i8=IFm9| zGYGu;{r8XIt5+}ie*XH+prNVxmxG=C8s4Og20ea!{qpsHVq(&Xx9{G4)7R7M28ul+ q#Q=uj;NTo)W@b<Z`i4sl2mk<R1RUmS9k+x40000<MNUMnLSTaW&2P{E delta 631 zcmV--0*L+G1&{@hB!5>)L_t(|0b}|9|33pIfQ2I6$OfD}dzK+AJRDh$(bLm&89yJN zz>1YCgMj?+U=93i4D+`yVXzW2LN(y$&z}tU?%qW<fIq<BKU79WhN-QsO$Erm4AvmT z&hY*35A0rGWo5Ph_y7NozkmLm1adzBU6jqr!XgRN%+15&&VMT=AOQ@u%|PxubOY3m zA3whD_3PJvflim1JbCh~DO08#`~LmA=%h)L81nM+_~IvJZIRZOXZd#hy%U2Z!+vxF zUawlU>dxQ4f4`ZUnwFcJo4@?_?OVv#Z{N6#jE&dW+uMuW+jVWno5PQVHGCy6VDrNJ zuC6ZiWy_XHntvD@9SsT!QhfI88CYWZvSnKN1%(go?d$?{b#*R=`-Wl<1CTdo%$V`D zwx)VdKtMq1$B!Qw7#SHElvPyz+`e_wZN`l0?}2Jm82<migUtZGIp)5%1emzlfv))E z>gI9x@Zm!|fByVov9q(^7#1308W$HgH8C-fmywCd41cKp9J&E4Li~bUf}C8ewsvNd z-Q3;IZQZ)%{;yxZxNWShjsXo~x^Uq_{i8>ZI208WeqwXMyP#c*w194AIa(I`;Lq>h zzS`PaP2a!&;C%Y@>EewWH!k+@^fdVP^($9IM8sQMVerJjz<|NZ%8KE@f&IP*4<7RS z^yxE0T5wwW9$Q;m23s4O?>l$y{En;vZU7S#6N7-DAj7n&Qy~Gu$N!?KscFuSA3vW+ zOG`}$iRtU>GaNa3l!1kX1=9cv3k!z#@7}>BjEs!x&|JsR+1UxkSY1Fa006?~=Nv;+ R>i+-$002ovPDHLkV1j(+P2m6l diff --git a/school_data_hub_flutter/web/icons/Icon-192.png b/school_data_hub_flutter/web/icons/Icon-192.png index 87bf36f781d45e7b592dbf45ab3732292dee9799..262eb9c6ca737a0e000c128f9e7b0225a1c62452 100644 GIT binary patch literal 17317 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 M07*qoM6N<$f^H>#AOHXW literal 18376 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 diff --git a/school_data_hub_flutter/web/icons/Icon-512.png b/school_data_hub_flutter/web/icons/Icon-512.png index 8ed5feadc2f92cf7b951ff40e56cae15e5c6f2c3..13470685b34a9dc465200e9e94dac7bc4f37c24e 100644 GIT binary patch literal 82763 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 literal 82914 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 P{3*VDC;MC4*#G|k7&B=u diff --git a/school_data_hub_flutter/web/icons/Icon-maskable-192.png b/school_data_hub_flutter/web/icons/Icon-maskable-192.png index 87bf36f781d45e7b592dbf45ab3732292dee9799..262eb9c6ca737a0e000c128f9e7b0225a1c62452 100644 GIT binary patch literal 17317 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 M07*qoM6N<$f^H>#AOHXW literal 18376 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 diff --git a/school_data_hub_flutter/web/icons/Icon-maskable-512.png b/school_data_hub_flutter/web/icons/Icon-maskable-512.png index 8ed5feadc2f92cf7b951ff40e56cae15e5c6f2c3..13470685b34a9dc465200e9e94dac7bc4f37c24e 100644 GIT binary patch literal 82763 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 literal 82914 zcmeF2^;=Zm7w>0=0R~Vy1O$c#=?3YN76j>TkQOP48A3w3Q$j#RK}sp5yF@_g?(Uwt z<LCR_Kj8j;f12~moada`Yp=ET>%G?Aae7bH?i11x0sw&f8tN+g000Pk2?9XyupbwJ zf9?Q4<q8cI#pi**gVyO}3**;U2&01nUpon3YK><ZqG^(ZBBiurA@+fNz+X7_@Ufcv zh+lAl1e^!am~h|C;BI4dh!0YVSagC5U(=4%_rS?%yWq=S<?>vxpK*XOXWf^UE(B@3 zp{4EgQ@7T!{O&jvB}&3KN+o)f)LrwfIR9O836rn`{`Vy`1Hkp~_h)cDP_Z8NQWdB~ z0LR|WMTraf|2O@A6a2q>K^d97z5Utl$D%p4H!R9r!lhjaFGSvs#=eyp(?WJ4I{g}i zy!t9>)15|c#_XN6bA(>>rO^6_kejz7-iD~uNV1g-#j4~Fvpr`_RhU_bsEuMHcUx9+ zEFqUN3f3FyVyB&(?1~_Vi>|G9$DA3%E{$Iv&V8?%cY&_ReiiXK*q%a+)O*5i&jUj? zgWvv5-Fx`MH+%1KrJv5v{Y0B;G5hvgL{yMFRWjuH-Pru73uQ88rC(~_=#IqtSK8J! z0;EPgN_y)wjn;W2hdP;3MwY;)=+a8#zC?Cf?RazUUa)RGwYw9-rq}DF<=U*QLS-mv zN_{c8rOZM1dlb)m@}ivVK;B*-ekil$=HVHp@DAqS92ETc>gP%cSfOMfw3xBvk`;NK z=kw<tL?NBlam^I;xrY^G0sz&C1GzF)-*<=?uourR6YuxgpQ?A&V3y2ynw3fhl(>L; zTrVlePQiYOv>r~cZjz-(XFU4&Pr+@zKo!(+lz7u&3Pu);E(r7lhJCSu;)Zu9m!2-t zjA@?yP5_?r;)gu7#358AR=~!0s=0!%^V0i6dm34XK3}JYf=WR#fl73pBvOz;eI1y{ zmHz^P33Ux)AV`*UMM4_6ta2U$u#i|Upfw)Zxw7VTQs4s-s%9zwdz7>Sm;J;tYhfIw zi59>2{CGN!^J09d8|~aU)Opl^Qv#>7(SbGqB!E-V-D_mwL{1^Dc(ouL^NV@HH!M2; z(vE{PIRRKOf=RJ`EFnE&iV1SEaC=KO^mGS5D->fICYwU}iRJ{>?aK`Ync&xmKhIx= z$^nSLp0V{#7Sv-(g6vi`#aIgo|FcjX{m3(L$Vb|b3BN=C%E$>67Wc{@k09ffU|(3< z(i<By?nR-N1%#{X1**_t{&~j=+Hykc;k2x4y<}XJZ+Rog0dH7>!&7>{C6A$gIQ`@* z9Ar9|9!Js>><m+S%cjIBoG?28SbjV9A=Y{!G7Al|23(Zf|IMtN<Y8WH*tgJcXoEF^ zzh;<L9amJUy2{)5_`_J0QgY%qY!B|u0oP8O80zcmg}ZZdQ+Ib=<NC8qkFzmPZ8TWq zqri;{k%3^`VO)NYFn$f540&}<3U*we|HegB*e;(6?Klz>Y4eCW;91L^Cg?D)Tx)#$ zTa6>8+m`2oR#jD1-_(@b&(BZa?MYBjvkEhCON6-y(34PHR8*8*QNc}1%aB>JYP);9 zpI$Mjkt^n4^Xn(R)QZUdfpqE20a%E@1U%GRZxS_v4&%4_(6Lcp0DYrWEB4<U(U2CD z&9&P0C67pQSQRgyWwaTF|E~V@Ddoclj*2hU*?rM?y9>3-{zr4{3=9nV2If3utjKq` z@RybMcmbqvbU3gXhG|=9^V4FK3xu||wh9YMa_JVz)Na_kF@%cAu&kI0K|!Q+kdffE z@_Uac-+Dy<n+xfc5%kTC&@C(S6g54(CS&<`BN?hT>7_6e;6H>$Asnxd7AIzAxc>hA zt8Z?=dbuTAxQ++O88i1=Y+R8hhqK#ExS$Z%hw0l%jG3#ew$ga_xSPUIEelOP$}K;B z94@E4QP~4@ZiKRn0~&EFB1C)P12#{fl6rhV!d~%zYhfxwhjY>g-Qs0>r=QUH@?e_O zu7hNSYB4j}Ig}i06A8m(2Q_2k>4*-2w@=CkWbE!pDh*&v<nT+I{v-xr2?=L=;FH8H z*h&Ym`Ss;zi?)#2G+-qdg+fh<VeheBHX;Wm0a=vqSa2g^ac<OqK8l#kmwiU~#?Gzy zU&0`U9uV9FPbOsd5|y3TJb^QHJ*>ja)Y_j-nR^YMuJ=1`|9YoyZS92%<DxV(UJ<~r z1tz4Wkz=-HuK`(aC^(<aa2OYbUgd@$Px~9@*{1;NU1=yw4bV)g(K#a+U!p%JC<%83 z{lWifiJm*{KOC4R$=<t;#+WoN(VU!9{0Z0?Ad~Xj%b*%@K|#Wh7?(T#E*MWo0~Ab3 z7y-Gx&kJs%le^uZaH9=G-kiQZv}6W>!E3}fh0Ne4&`;{_xF~8OeJ<g9Seod)0utyH zKP(TmCLcrUhGKfRwuixw=486C?qHe3DEr9k=V>$*`Ub%aCdG-mFzPZTb)SOIimMcV z`}U`WCNDp)Y)Hmv`p>{@y)z#{PHv$U8;FMw_|UvQh#{Z@zWhA)bGW^E%Ouu#mj8mL zfhZgRe5ulJe<#mZcxC-!*<3X}i4K^Yg_(#K7`k2xGk*$0%o{<nGcz4svSq`Qf=kNF zRrl`ie)4k9cv4To?!+XAT*29W10ER}=<;DphbsUkl(joN&kH2+3Bk{p;Ax$1TMw|# zTJ;9&taia23#GnHd4h7Vku{h8FQ1QHma3|%&ieMNhXdLWmTq@muAU9!n0ep;K=sYs z+}y@rW2@A>y%*dfh?~KFrs41V(~e=DqkHXt9(SApPn-FyDpu5TXT07httt}0Swa=g z=l5DJZgHObpP|OlB(cr}Cy$WjlFrXqHwe0vcS>*VuhdTFGTL<TZat_Lj<e`W#@ZBA zNbi1Xt`;9j2RKlZ*Gw?1=rit*1eeLKp&wk~k4L?p<f5d7{|mMAj(bmwnHG^QyF_Fr ze=m}c8R{`UtQX5@^!29sllc!#Bwer{tLh2_{NY<pL6?7xJ@!^M{$wO1B@C>r6zfoY zGtmG`I_1$R0*>O0*-vVN+P!f=nSwmR|0qh;X%)2EG9t;$Nbt$*uv=xB!aLw>LxcY0 z`fON0E0P%p4057}kd`q55pTDar{{UL$BMH1bqgywW}r$b01KenNRv}vao{NyTv<l{ z%ShBWHx&uf?1d-&<a*!ow$#c{ORd417jD&qaqImwA!zg5wMN4lAz*5(XntrJKkyRt z!P$wr5?Im3@{0;uXDmbRJzNkkcP^RVENjd~NTCU!d^-{`fT2E}+wzb52>f^tsr-B0 z9Cq4Evss>PRaX&~`}PV(U6XvlC>eV9P3HB*z!iB;L5}*O`oJ*Z%EJS}h$4jnfsqF^ z|HeD_-=gr4^a3JHw{bvywmKbqS6xw&8i`M0rudes`11=xUBxLNx%bU)=G!c0eqBcS z2FFNdVC|p8D3cg2s*xaO#t3(K1_ur{1^fLsVB(E^+oLClk1HgbFoU_X(~kzjMRxMf zZ%W@C8`0co(0JoUA!pu%BCdze$K(ZQ1gx_Pk34DV87vv^?XZC2TzbUnlz*B4)D>jT zgRAu@iLt>hjFaez2galxO}j=heMcK`oKRdQpDfsaL!<DCdCO)zj9ZosIuCgI6??ms zV@T$oD6w{T3k%5|i4mI-yr*LZ^nffVtDpT2#Je^r;gb9pbi()#Z#>YSEDn_+!Jyr% zqj_gvOvR6)L`4`q&@rOcfwW^L6wxqx&tyW<h3u<6G#pL}c#AX6sgPT$l*;kn6L6f- z$K(PK@4qf`EEw0bNKDboAI)6Ici%zA3LZL%4}*`Sn!V9KNAKB~@bXbS6daRMGf{Vm z*Us!=<YogE8wsmMW38VWw2{Ug%(KFGkkdr=qG~O-#lYya)BR};6B&l#@bD_=X)Zb& zc&2o%U`Dx446X4A2k^d`7M|fDv*7<y!1RC3UPfOCR{O!8z$79u2Xk0Ov5h7>$%Bz% z^rP)_5X_p#=ks<$??obdI=Zroia|4pK##<R&Ll{bqmY7LiC!7-Keqye>yoZ~4#Gg) zApjlN(D0CZ={pNii~xQ=fZ&q^Tk+R6tG6Skqfd1|65^?>_!bT!|GAGk>%V-Q3*_+N zoPh$k-<X$=-?>)BH{2r|-~|2tGvi`U2YK<Zuqazn7L@e?++x&eqLDY^)&v>=4;+hk z?jelbDX>pyz?V9h4kPrgDR(NV7EHc32C8viRnwcea8`5v`0CXwbyHW@B~pMUSlQj| zKJe4$%8a;Lq1=4SX9vlVd_vcFifQkZemg)rV$QMwpH7V3|NB?F_+WrX7F1ykVAKRC z$XZyM;t2LXG;_Jk7buP;6S|MZ5b?fMg8LCh5$7s3Y+~e}AnN5k%px2jjUNeBSFsez za;`r0`fQne1vy6wc!@FS14x1tQXZzBWlW4_4#D<2u@-dE9Q9e9gOoS8gL_Q1Wa^%~ z9c3Q41vh2t5y9=~u{NreHOa#%98;JO8Y{psF<rmK33zuwnr5Uxw^}s33#%X{jNuzx zm7JCmkCNLa4A5|>BH0pse#6s1`)^(@y2`(+BFQogL4ekwoA94iA(5Flc9B=@#6a)u zdn_pkMN%y0Vky85Q6mbHSzZNWKI0G1s`sof4LBcquTTGgdft0u_XE39*P;fz0u=0K zXGqV^+`Zo|&a6mGG)vD%hj0YEEx=-B?-fh?n|2(YFzugL4Q>rheokj0>KJq4O1ij2 zGJxF5uS`v?|MBol*hb@%p3c;MImaa5A(>wU5gxR=ih}yI0#10zw}DS2`%HK_e9zDK zn<Yt+1)RT(d0C}D>QVla@^v`3TA+d}T{rX3bIgB?On{`Z|6o&2oTJp~x9~LH$fn|> zVv4JWO#NaaBI%#+)u29MBt0M#pMoBWTNe)h_H@F#4KCt&N%}wIm;y-AtZQUI-8(5B zcr}XkL2z*J=6H9Eu#BjK!PX9O4#_V3;qt~tSpw}#5h)>CKH!(oKMBu#pS~WoFH*oe z13tQ;GW{?6-*xUKuP{+3gDX?Qe#xL$I&qr)5A*)f;Ly;phYs8#Mz-NLXm@`<JtmoP z@Z_XsWUT!80U6pveTODwKA}HN;2#V9r-6iVz_dnySOv{X8bv8dNiGs5xeT=@dPlR3 zV=sQqui~kfSIbo~M11QDQU-8g;{EJjz50Vb^msLBBnwJW*W-LZE@-zjwk(Im5%K>7 z4DCp)@#GR2z~O)}_pz9i>nJ7?t4;ZQePxNEp0T3^<2OEDGGR!QKH~tO0zgvNL=$f$ zC)2Nv<0a??+Sq~nUySbJlLI=VPngb&SZ9pX{lToY0E+c>VG(H_AFv}^<CoQ!+UwCX z_wL;@ImghUVF2#61(%C<rBtW?<-3owYttNEtwt`PM1qkBGnNmhspHRfk9KQ0&a<+p zxrbK2!kffCeE6`jghIT;bmGv`(U~3d_-=)GfBlU%^fTg`_}>}}S5Ur_B^~>@$d&|P z3x5o78JzxVoz18WdMqtn-q0}BmObbWuexJT!dFtZSzr7S;OG)4xvQ3i)a=r|J)gjU z!cY0;-W*2ep{Y!X|68@;8uYu<tc6s?1~NPygei{#7D?e>jH`#ROKtg=FFelc04LO+ zK40fCGbIu6$1QVe1Xta%FDDbsol@{Vkw5>xDGWyup4`I<3?6mKq+A3N<a9qjf^-}$ z{wQy2TbjZh5R(z=Dq3&yUX4fu=2$OclCR`l`lv*X=nivV4XXUgiZeR2PQ}44f&=$A zK0{3i^?}@;%1P2HHraup$Jtw5z3UBjONsOn8~I*ssaV|C^6{yCZfv}*oeaRTweR+o zhZO9nV4*2&aT0Az*tf9<Lv5W#7vV{!k24r?5&q}yBjJ*O1wc;oagNXLdn`yJb-##h z!Q3L*;Hf?!={*x8BMz*<%3WOl2<}WU5&DfBE0D6^r{mo~f5f9DhoFB%LlP?Rs`Sd3 z{!93s<v2@JV`HIX33#VltArHzyKwNYP%MK_jE^&8WugDUjBO;azF9^vPkswMCXZPl z#LPE(3Fx4-mIA7u0k&WftkpT!M??<L_+&2~E}v%`q*zCLiE}$C{y;1TAOY#PFXB&h zE=YRv5UBwIi@b)x+W)?125fF_>OXtNY-niMpr+8!`5jT7x0=agywQ5SlpaqbFlTR4 zieQq$+#r17Ekto76g=}VhBrJf@69&8<)Zx3$yd{?11{+3#)WrCKeBpU{N<{CW5uO7 zl4=EYz1#?fXLPWtC8@i*x*GN3NUrMk%Zs8(<dJ$yLE8*Jj!lHAYh*6RSXFwIEvSE~ zu?Ts}rJMi7JU`)iN%@~uaDXwte?YAsDwNYwrLj;0R;1f~x09$om*Lo<Ii)-P;t$|K zk<2{V0@e)?MLrmGs5#i>zRlf7jxJ-T5Y{EBaY8tuYBV<6rUnm$1^^zh8eyl*I&YlU zN(XMnvzYCg0hxZ*o<r=FPNtC6QKB5fOVB}HV<`kYpsxr8BgsxN!`A2taw-eJ`uh4* zVlBKk^cB9k0-I;b*hmw<Ref30i$7RY{r7@=><c;)ijMsI68ulq6`B)qA>fFLDCps< z@lUl7QkR(Du%qVfN@;iwT>A%jEi7B!c=vccSuPEO9K(DI!hnHaafDfRZep&+q@Xvt z-(hc9BL7jGJCk>kJ?@Q)3=O~tyX0n<-_?lJ8_+|y+!jsnh#yKqv5FxJ;y`Y~3}v?t zyUZMYe$#XB1x><NtHUv1J)nzezh9ttI66oB{0OT%9RJ0H$3}xRAd#kC;_oq5zJm&c zOS>OV+7WfIxd9@UGYL6Xh(!>C>71J<sjPL**Pi*z@OY?Yd8B1{kz(m;KtRB-1dYJZ z$D*(oB2*Bx{j!nH?YW>^QcPOA^XScUnPqv{w$VzFQY!wxcZF`q5h&2habgWlC-T{$ zR#(AhbtWwqFeg6+5Iw;sVVn^<I~%U^-G1uo?w)a0Cv5&$QcBK7#0NC!8Z4uBqAYo% zGhey0XLx(JUtM+5{%SYvA`jKUQUm|f-dk(O2;Dqp?F5lRybqe$kz!92Q#t=Ln*2%3 zBy>kvgs#^Y|ECS!3*={g`f#k=w0Fa83OFuYXbPI_1Cu^%@>-U2z5If2cRw)i1`s9J z#gte$6N!I)Jj_?RxxW5UX*F{=yJ{+V#k#Z)CTs&KlSg;S8x?M6ofvbSL9i}*8@@n7 z$Y!0yp~#f4*lPU(=T%%b%Z|ozIn~8a2=X>)-*=nr91*GvCjEUuB58wX3TgsFK{EZS zdiwflb$P{;7n})M^1{M)IJX}XSJZCoeW1UOTWA}P7gA%ewz=--<S?SXH4VCNgP&3` zyw%-Ko(y=U#ea)3+&A7}#s>HqQS&}=F_d`ACuGe9eE|tH{HYn9Sr;t^C`qJ(hik2T zWd=%kEz|&m{GRMkJXB|8o+C7PmNMOy8k_Bt^X*;KEU{|v-5p}HaQrH`<%i=!%3Ff^ z#qdtWX20_fi{cSX``u}j@+o&e$8P0dFOlPS%M@da;U{B>pI}tzw=(}^EX$7-eVhsk zxFOt5YAnu~%tWGYEO(Dd{xzFKV#gB%CpDbB>l@Wly>s%n?~MXrLjG9sZy1viGYV3) zgx6x)k7$7QgZoVS9sZ{n)|+Xr{d_{m>ku>qjiIc*8J}?y$MzW}aM%HFk;<MwaAtyd zfs}o>ULts-r@y5E<i8z~2DQj6!rX@=uH3`W1F_!;S1=zL<;Cv2Xgia{plkS$Gt)+P z(bvvL+w~AwL-&3UP*B|F=sJlx722DMda`1$vmJWc0^LeFF&?!}-Tvpa)*D}?J2D4U z1JgLvdu7ytp*Sr)MC2BG<R;WiHWI=T&M`O+#f^>AW?&1ARR_s6cwZ5+HN!;bMBvGt z{Ka+Ab9r96KX?7_Yn^mgD#Hn3s=$Bv+MYT;1pv$6k95h@%2FtjDx4l&m-Cf*j`HCT zFUN0u>jynT++>Sx&qAi;0tVB_S9PC5H$&wm))`Li=%6_D`G|3k2*NN`AXeKer7kK^ z#X$6gY0jnCeXXgh<Md(z#c&$(7bUBf{VtVnN-x*@pjoyIz7a|#GsIYGpu~GQ&5$C9 zNE|}<Tz?@UXuDK--~TggMrN7a>J<8jfSgNxXl0H%ybAas<m}Gp8R^I0d{(N;BWM%8 zfm5}c?Wcw9FEDRGk>mi?RcPZP5Hg{78uiEsPQMlSHLri&=|HUi54RN)Z~~v3H6gge z5EC?o<DZrq8aw#DqJ2zeiAr~}eTC!&txfGrS&?miNtgBidPp181<eerx)vSmr<H)< zkr{#bcewk#^@J*pZjg=w%#Re(_Xx5JQDLQ<fcWk0V;bF)?I*=WO3zlX6U8O-Z=!&} z_+17H8EW7Q{1mrj3<Id9n<<0p!$*Zg`5I#PZ(5{ta?cPh=aFc*w@v5{_1H4zH`4*m zExMU(Cp)2Q0*RxM{L7G1{k3eW=$ghDRS+T8*Sb`W(g7bcMJ&o?zxjZ}zDUVI6ygI_ z;4dQnkaaxLvukg)a)7Y_2NiadADtX7e@_es0fot5k03}%qryCM@6uD3yOs%prfy;} zI}1vkW$l)axmjm>MULhB($R(IOun37m1{ZvkzjMO0|hE7kmI%fsX7&#0bDZt1?D*I zz9)qTBL<D{gw&LY=xiXnGhr-<{xtBkrePiQzMHL<*&&`1QLTnrjSa8IlT;l09y22q zKIX@HL#ahk=B@u{G@a(3eJnQo^;TZ;=6T8<E;i!_-XCS+>2#v@0RPlFjD+arK*CAW zEohLp6}P2>22jHH+h&@+i_)QPq*)~_7~fxyQryV^KClr1dPoRJ?s#ymwWBpW7-A>L z{DNvgg9|tyAefpvqy4J?K(X%FtNEMO6{5L4cjPI~0OsM*LI6H5%?sozwHNZnVz@ja zIFxy(K`8xOV&E^LF^gqPx%WB47vlS+v6vZdNT}{gDN5Ry^!SHZXX1t*kk=Y#!F%^( zilVwgyL{l&0|HNGnsi~#=BK1Y*sOa-1PPmgeF@A{sKq=^Ulf9+@E)e2!j7a8n0%Q& zY;=A*{?77lrLcoCp?K!rFu~0-_mvt{AXYyNC?coCC^2Srs;O!~4+3?FZMTd|cex@e zQZ$*>aY35cm!LaZR5&1+jDsqjn_y;})&W>Kvu-gM8qnF(yAe}CVw+6e!RDuE&A&Gv zI+csa(!Fu`aQvdVdqe2b4}s&KOpvRQ%#i{^w<BNTv)KprTsy5qb*=?45DbXvJf6M^ z@PPiw-G`uX*2-Zl7xTzzQyPmDrsQy{L?$D(y)kz3Bo!6ZVSU@5I2v!l-5qKHn~S_a zog#0F4NtgBxB`K~5is#rE;8q$1|}ND!G62Uf4_1>`|cCw-R7>`pve&k4(V929HLPH zSTjulwBZ|JBF)UW25DYfZOFebi#Ch1K16P23yxAr#@~y`4odzl%fSeoakVA^TP(&r zSHbLl&Ce%d4EHw00c^fsaHlYitXDWVyWXq}%w;W$ZJ9~mlxI9^>@=g!>a|e@k=o}k zKkJ>u{w>dNjo5}{__A}KhAj{R&Vj20X5X^<Y0T)L^Z_hB>OTn%KDXJPA<U?C!oCh_ zg=s{&*W=0Lcj!<r>G~=(!#vI-Yp^7T;v5O=O_&C2Swm}b=9-arp1nRF=b|M99x{99 zvNy3nIq;E+h;4yhRuK3ee<R)df#Rkb|5_(zWE|(tc@d8=fE~~b<aj{QswE@OlxXt_ z8J*I15C5EmJ<(>U%AI(DUR#^SSWh5c@d+sjqyra2rWGD9Y3x9gCf3MnEBaOkG%@y5 z+ObdT34lo`qFL)_koC8B(plgmKGD}8Vy#fSy0J=#b&eX|DR3R_T>HE(I*6^0RlJ8P zWHb33?fjQK1uM`7JSEea(wXF$x|phdPHGE=g#OxS^!IBVbpgejRmW2%-Bfp9<bKLQ zo`^m6WlFTJf#^j=cPP#ThmnRK{(hJa^K}b3{B?QmPF-T5a^!}t92=3^Ld823P>-EW zujM0*TP~-hw)D8zR@GHloK9pOoOI!kqXS%N8RB~#{5_v;ZEv$PYB5J<WBTku!oSGs z*)dTN<wBw#u(f3czVAn9ujR~kxjBWH%kTi)hAT0%k6`8*EgZ#yn6<<@Y<ShtK&&`O zsTQon)^QbY)_sY<zekL%epHFy@`;7BDp&x?*07BI0~N|be#3g2BWJmCCLnGjT_Xl^ zuewP-R68QteHDJ&Clh%C8%vNFZGOB)aa!&ROZ0tk53ed@i!9vQ%<R!76_x%oQ|{j0 zUh-%#ST>TmE9@5ph3#<BGB9MGp8DkG6?`k}NL2Z}Y_=!NY9591ee;p-(7ua2*LSPC zw{S)Gr>$JjKmyCTmAVY^+Ft?n88N(05(4OsiC3DaB7wqHxM>d<`U!6e^C8eoek&k* z_{aF`qumH1b-OhCh@Sha?^EQd1)c)5;C0uBYId`wEE0fQdAmNZoKwEjDID-#^tPN? z7`7|++|Y3LnWZHk7PBYZpC}uoXV40h62!1?PyoK%j{O>nB17uF4&KCeR?co#m1*f{ zQ&U%MX~QWK5@*LeNGlCpF8Xm&^$cs+&O)GcZ^04a@1jLs(F%9Yr5=3cJxxxZey0U2 z2VKLd=`?XN01h+-gCru$U(nDA8W^1!MpNVnPn4@4t*qg`jM#fWNaDLpSSfnRCzG!F zo}Ai?rGELBV`o{v*ve2pmhKaQz_Euczqan5j%=j3ZT)HCfNe?6g<?yfqT=G3!NEU7 zB_y;$LtFpcRR5I_RsSAj_5Arp6#-Gc=8PYJsN?tVl#A<YEo<wddwJV3a<4Dcj}}{b zTB9G{qgN6X60)66W=GU5ym*kJ{z-UF?~j#{#n1XWRtr-~(Re*o7HZDO4)d{})hF%d z82{YF)gv3XN^UNy_4hL`u`$6YcxsEv`P=T*x4)K)`7$DELW$I_6N{4DYD=-b%(+^y zf96vwc1@K}z$9L+2r4*<In^B-F)>(PSSVn}5vqrboHrHheneYdjZ(!+x%wA(ChKyE z6mb$ZnV$(6D3r{+ZhF~ff~-Nd@>yk#>FY@K%BZBU{{E7Xwfy%ld+_x^YHRTIT=<l= zxjB!cqvI4V7QpS~={sa=+@(D&b8K}4Rct08w>~0x_h_52jYo^t*M?uM+xZ(k7t?~T zk4z<iMV3&|AcFdydW|F{*W5EkKH296=KeJwIG!6iu;P*Xo^~jOX`Vf0b58*HfXk$^ z?r>;IvD*%?$<ZIq4d~|VjnNp}h`H>JmY^C>o~`~>6Urfz(B8)jk*O23Ax?Nwnnejf zhNc@BOjSzANOCDh|0T)oR}`_q*gL)S>RQ0pM54Zm69Lm7=xoufsRDF8oRqP<Z$PWb zmn8M_bl!DRA%+S&JdYk#*1(Qtg#LBl4wk-a%_Xc<3+)3yMM1~BaDEOOF$EB|^hZ?5 zR0+h^wCk|?C+MFnU1|4Oj}8gFsw|L)Ssg7jv)Vh|H+`xdQEnU8kgc^jtfL?H-s)|D zA)R6004nEpA;gX^vx7=XWSd3dSzV%djlMg%CZK_dznun#2^c+4xuLL323TI-VF6(Q zf{c#Fa}`Pt!*(7gCKh=AHJlAixgDRJWYb+GQ$g3v0SY6H0Bu@w_;RvF!fthSqw&$J zfcdy2CQ>DMGYL^=-U%;NZ`j`&iX+3*mk|WS4}(98l<95AlU_JX+1w(sa<wXfF6~;Q z=;0{di1w<gQNk^3BXeN9RLwD)3|)zzbRx3+Ze<ygCXY|6P+=oY3JN0$0DXPKU;nFS zssMH8){Lzr`B7*;eL8piW{5?9!O#{Ai_BoE&VHYCrclGh7Pp(D2AFEVe_inf$gKe; z&#XfU=>`$81Lldq9O18O(8oEs{TuyAn$*oaOkLa<8=nwGUCZYoLNvB!He4the6aqs z9<Z|i<%~7da!6NF<7QsxEzNCwGi(VGKo4*L%YxeHN#WRn&hTiy#Nj%&>GP9-m`t5Y zpynbcrvnTY_A#CLjTU0p6H&;2!$qmpDbwk3RggP#gB(Yi(in*$M3Tu)MsCwNb%*w= z+xgX!9;W{K_0(<8n(_Gjo3}$pFR3DUMs5g~4REdGruF4{hT*`QbDE8%ZiKLu1b1qK zKDX?1Rw_>Vdt{$7^jv2M(LFCmVN#r?ca8hD@71wQ0e1n5Kl{l&T9=&|Cd+gBHJzc@ z+*nJex^85V#0aJ)7pbj2BgMOziv)$2J9cEd0S8@We_^J_$8AUBz;~o4zL!H(QUON= zAs#tss`HRQ2M5-#Kn~AzSOO_l69u(CzneIKFGP?xTy)}2rtRx~!}y$zEPv7T+7diR zoUC@AZRL9n1+*h9rMy?*ewU|reZy$^O=3j**fE3H{!=Z3`UCglG;8sntVM+=ZT{=U zl;5W>xkKBGG_MRbYb4!qVRjr1x0SlB=Mz}IpU25I(9I*^fJMo(3$=cA8%`B<`@Lg6 zKezF_M0sjDpobT9gNQv)Wvyv$eKM&_jdbIK3@`iA;<!h8q&^1EFWV0Eg-7CV?pL>^ zd9~d>@m%=nO3?M_S;ycTMU#<2n(BvK;W9<B)0)qvqaEcf%uOt#C-JxNeMI=zV-#$v z!*vM-1@iOqHi~oOz1mR?KW`?qUfN*7^0&4}P`gjgT9gEBBcDBf-(Qqo(UUOZ7v*rF zsK7CIuiq<PljUK?jm3fpqCed&fp>mKsqTfHPczYsn4Q@LT8kb#Q6!`nF8zNl&<(j7 z_^9cuydP=ccA}xq_5kFKPtf7_>B_6*hNs2Ee_O@Zx6SV-N!IXP=VxYSPL0;s_Y=EH zw5t^W72jYhYFXjoKzikxxvd^w=M`dTRonwW6l?_cXJP3;^`&m0C43TR%32%KGn}G0 z$zG8GfHBxu*{ybuVOozvb=y#P`&md<WVZR8Fz!^Gy3g}R^k2%hY)YSJi)pF4MUK!U z4~L|ZZ9Umx#p<uFWhWq;mqV^r$3y%gj+~W}TMk;lWUf?RS0p)nq+1nfe}+g3ylfq& zUb5_cvK56Pf!!zvttU!UE|XYW^w1z(XP?0oS0!q|3gEf9d5;y{?AdG>q7hb49ges@ z;%gx{+5!c$!HYSLl|@Or$Q6#^1+FwLS^I3sslNEG!*g4|zWbPp{ORE&h8)V5FBh#x zq)@~q&tf>`Z{xm$Nmtt$B49o=6i;-Dve7p+3w*CxNZjxo^H7CE8UTrsadhhst{Me5 zaw1HX3Y1bE+|_9!Ll&44JNRQO6Gl@_U%_%;50nyQbH+M%eIHZnKB}8Pc=$e~{d)0u zC|;n=1qUX0Eo}h%02t?b`@}<&wB1tQg4gf+_p?(qrrDn>8NE@|t8{NtmQ<u|HAD32 zWxmjdDg5+qMoxL5vK~GT{M{m>9(=bFN%F5~JAbrjaMQsaZThg}=9l#GjK$?cz+c(q z8=P{Rzi^3xu>K_Cp#9NC>{bHn?}}|X$VU27-}MQRQw2E&NgnHaRw?`Ti^4+EuDBtB zwZPt<Y8(Z$Uhzyyw72&RGF0uu`Y{{%Daj~eTg4!D5|15_i%ap4Ira+kHg)M$ubCgU z8d8D&-=3!9pO;x;xAtelQPl#pgX10i11VifF5DU9>|7}siggfb(VFs&s8|*K*E<gW z#xhzR#X<Mo6#VgU(?FXaP1^2;c+L*JVDseg9|6a6zVQ9^wchxK2b$EZH3vdo9Wu}p zs#OxjC(?a}V%rjR%)#thog3`Z(Mg3?zSX@M@+2B_uprmmgM%I6>lL@Ns%)#Q(BNxR zJHiGnL^ADVh_E=HM1Szcm+<&Abh^OC)r~A|9{u;@7!b4hnwN%(-XrLZkEOouD{(pM z{Ji$u*x{J1jwP}6v{};oeRXCU1CCgtd1!I$t{p0R#k|5<w?Uzi&Zuba8Z}~D-$b^F z$Ra}{MnT&wh(?MO5)e2JTUCbpD~Z+U%A=mYe*N10aY?U!06gB`Q>2<~_a4yOHGEbB z(BoC=oYdHp{06>28me<bVUz<y_QSq$r++O}%E~LUeBrc|0$9*5`-xt`mrp6eAh(TJ z{f}x=Q_0LH?ZN@>=OG%vE#Ov|9gH}3S}XE9w1#DI>>$`TG+hRE5rw=X3FB2umf`ff z^dq|TZN%|mE%|6)e`d2+TR<x*(Eb|vrhxt@i^!?zk9O4(mQob{l;mOjCMLqx*DX52 zPL97mxeu`w{b8)%c^yMh!6!w}8-I_Dr8e+L>itW6O@J`|1Nka}xY&<9$3qqvHoY&1 z6f#lyyVK-N^X0p&S9G@YgpS6Vl|-74{SR{fCNM~qXwJ|@q}X$Ck@5_fp1#JlSsNaL zD;P7$re++%QxwnH7;z5M{|sPT9Tw<KYjp3I*epx$VQ(j$C$8X)`12(5t&j4kiYh-Z zt@%50{C!Gn<0JeS786Jf;EmueMJsovWMpOxqPy`oH+E?pG4V0wO$~npw{lFi8;)Nl zjp+`y#>Jc|9%r9vESok9&GGrhNfF?8JN-7d!9h65kte*rjbRgKNY7QH5JvkgFI*g^ z4mK}U2z3i3P?N=GA3e-&Mokv3Kd;@yhBhs<*)qMTJM5d+5c;5@Lsuj2^1S_Qh(~-5 zHvQ|J(XjuqGtNR-&B^;vSq$>L0Zv-}MuWt`M62V>sD#mC3`ZSsKQb0SXXJ#rk{DJr zeuK3fYIOPA6!A(DJq523Y0|sv6WMii2Vq1!bT~!A6Y!NF595Wo@|sr<EEH&b>tU>d z#9N&UDMk4jJmZ%x@42VirEg`;-23B^LyN(N=Cfp#zGIEc=jGqBMYSw_zK=JE(BQ+j z<i#bJCHh`(>~{`7xq)Fr;%I0G85IRm)V)D`z=)CETiMTsGXrW*rE;64neDgl9M_a! zy(6useKP~v<{|t((<9w+70uDNJ(aHk6S&xH00eqll?x<aPV)sxNG*=J@NZlgOd>9J zC$YfYGMd`v7LHOPeNWczy_b<dcmIJz$EDk}yXmSSFR)3eCVB;r*=#>N&<I{Bd}aG4 zd<MCTK`#@@8RO5t8mvxwVi8R=v=L~j;n+I`_r1scfe|-X5Zs0Sb&O2%c%44<sP8+A zC(b@4pZhlS{j4yIJkG9OpbS89)Bg}YD<FP%7H%zLL7kb#kSRRNnC(V&y>YbykNQA9 zLG78f?Up={nio2u_ndWH@2-mB2KjNzxhxnN9x@J7loOr9WRB+x3&}f<d9abzZea|i zKGfe)oWz_YgFP(avoREqFj~}2>Vs8ldis1;^Vp`?e5VAqExYyE?~gWUG5}>vUl#<( zFgIvs5VteI2S@5^Y}3)aGx9`WNWrnX3V>+phA6$DTnT14oqt14UqiU#*TE8~@zWh3 zj1!AHkhklJ!i3#Uevjan@&`@C{_3;r5JPUm(A$^6oLu5ybDyJ~XSb8`C<FQf{8^S6 zukUV3Iw4;PJS#BA%V?d~Ek8tlbh}0J=Z-qzKLh_p8)zQuxvH>Km6HdxY2wXsI&y`X z_Z>gg5Ts7|p#Dy#@TgJldi^`TqnfGKT)^ut2}C<$!{D~^xWIz8na`lsl^&qou{_ik zQ9)W`Cf_CR`Rz`M6{*&~lX+Tw=dgG6>48rBKmmOQD=({w##<EBRy7Y>K||R%c^inV z65Lc|8A1RNks0!$52NJcEyTg7D*Q%R6SrVYJ90v+!RzMJcpIZkNYhMLpsNB@h^*4$ z-IlCq$(OZWp!<*3G5_bHb6eG@lbEx0%w_wOPUEX7z{sS7JG59`gOw_ggWLI6!Qjf$ zHqFWLIw4|l8D)ux{nAVI+3YY+G6Ej_fs06gGYhyjZ*vqx8BRX0z%#4qM9lr1JnQ|} zm)x??cuKlAh3#FGWaQW<Cnu-6E(ED1x?ol;ow2qfLc#oW@h{lv7G7%s+SNWUC)Rr2 z+O0%{Ou?)?6BpA5Z#C#k;qCHG;g{TG>gqD267wSVY#isw9~}1<;MxUDDZ7P28rq}M z=fLf#%QU~bz+n>gTCgTyg2<R4dGKjKwUMu{z<2f^kF1@@jp_KvVHk~4lzBTwxZbw` zr&GgJuM&{WZ&`=x-etFm+%akaHC@NXyIkWFu|7I)Ajh_@nUxQEz0emQ8+L}C=<~l@ zrUgw;OxPLVjTOrBU{0AZw&pzPEX_}PRaD8nxox{*v?tQnq?d1#?qAKjlxsO_bc=P1 zOJX8tSJPIXDDC&-!lUE+egrBgDzj-R>Hjg}a2)$PXLi@gz)mh9!Y;&=t<J(L#H#KA zMmtpNu_a%%^p>zl8Tl&gmHs8av<EdPIp!qyk9ds^RGkLDbXuVgYQIjfU}$Au_f0q2 zi5W*uw=jMce}IW#1jdf`IHJ*I+SU)VP6h5NPl}idEs;;5a63JLrM%t8K+hlgDb?6S zYbCf!=I+v>(pIfG-u)!9$GJHG6DGa0{w}`5c=)}RZ<^cm*VzQX*@m$zW6#FcPg2qu zs1<aj!3e+SSU2>t9r2^RzW-G8lG*}cSjP%U>v?mci@DI9Vo51?jWET1Jd(O}Ede{1 zAnMG@ZzU$JUA{?Nu6f7L?1#Br#=QH`x+wV5Xf_<+hLtX&3+i=OOrm+PZ{M{aS$kZy z>>O5nBZwqm6{YaCYQ3+0sK~0mz2<x7eO4PXPLn-*OY3GKZPsc%r<vE_9>Xbw$X~ws zTROIxj;`KV8@QjFIA+$Fd}&)+5i69Vz-4QI;|S$9SWXz~aSjy@3e{T^solJl?@_7Y z_|29mYP%3=n$MoG|IZ{g($RzZJKf*=Eg!oHGUdl54(7_h9wSOrolACKDtA!+iqN6P z8IAmE(fVjH;3zP(%fJ~7y<rA8s3+uHLxH)~L@USi)1VTa-Sv$>b%`vu=a4YaUs4rP zmbZAeR5v@N$?hb$y(|_U1eKiN8=qf+M-fQzV1^sUuW$(~SSa(G^K*f=6JFrFa+f4& z+AI`63E&Y!)YdS9wYv4|>Xn9)r?q;C67~N)+q)gIWMyC~h$fY~>P%q<o=?b&ux&?w zrNd=$kG!z@B+JXko+ysp!uJA~E#!M>p#O8vq{|u6c3u3otoii-M-I95@;lrvjXc=i z^2%Qm7SC%Tr*D`$m#S|nqb*Jlt?NK-r|3I}5b;{BDVk~lO>!ghMkhO51#YaF@VJ2L z0+Q{QTU%RCqVog{?MIXxQ2k*s0*`W^Ieh5iwV2I1Z+|8U3;eOH|A4RMdXQqj-C{z@ zn=CU-Rb>HS++)twSS6@e2Mgk%;~{%Eu+l<4qcKOfy@tF!pOQ_hSsWvre$>(Y;WNwj zn-$|ajWE<SY_YFXhG^lE)ve>5HAp{haA%qEtT!}Kj1(ijCHtVQkue9;ZTO6P$&h=K zb1!krnz{3R%FKm?G63X1$M#W538XYt{S>;=U13F^t1HIP6V}Af_FXl)0}s2^0Pom7 z3dYNr&ds`0v3I@MA#rAVOsfTcvfY>Po8+!b-VyJ74V?=syZ4J@>j0gpHdOxQr)5&+ zVY<s~K@X1dnF~4#OwP?3W-3yVu6JDYk$kX}j(QeL^t-s}h50kLNTa2Ju=Hf7(!&Gc zcqpB{_@A3FBb(lxgM)AVzK45;=I=bHKpj#nGcmnBqigE9aJM%F#NPbg=YWxkKb4$v zplkJ#G{BKxo))Ut8u<n}ScKFt3&SB-(1U{Ez9=+4Q`u&~6!2QCD*>^PiSi5eV}EYV zJC4o4OP0(fpJRJIu9FwV1;0LiR41;2vN+#zcYoT#$vEI1^7O;j$1+h17PT+e8U{Y7 z4*@UdAO~s&p=YMcLAS-%M9qRBhFgi$x@9m?lW$*jfUC)+c8`Tv)6XZxlWe?PBMUxD zvs4=wro}A*n~nXI->>eNQ4<=AWdy<p_M8<?EC0n5bm8RE_HNzjsp$<qM&9pINQ(7A zo$MZrwYU(N$3P@No%rcCIP+Umv3yruVi%L*#>kjT0mXRxUvJeyD;UaepJlaC4t-;P zd(us^`I%Yc3u)OQ2ulRXd>#ZNLEa1;wdAPVB22SRiS~5paagi%Qf8t_LR*_$b&%oK z7M*<0YtqzBCB77gAi|(Y<{IQH0k0ZbZ~A+hqLdAu5#hPEQqr$_U+jYST5X~{-89mT zecTh*UpZk?XMLLOMKQ^DZE4BD?P>X?i{z~HP|{Nt^t6;QBy8`B1*t*Cd!I&2&Gk!2 z`=(e>`Bv1csQhxy$J`|@Ghc9OmbT6+L;SD@85CZxLIB}>++%(-0xy+*GbwTAae@KX zk0aXuLjKORJkBSU6xyXhnCFqJ(@}23e%NwR&u!%#ZBw~_+Jzgrd)qIMt`+<Hk;sH5 z_NlX;V~UMf6a_V)<(^U+6l7{grp}hg2V~2Jz=q6AbM4t#hKkOMo<c2{AO4|)irX;b zvHGoleg$V*S$c9KaCvM?SoBuI-Qnq0%r=_|?WKisY)4b&?ywq{{SD_(7>AtmK2C_7 zcV{2?<a_phmp(&P#+u&VYnH-UdH(cT?q;zmR%>D_(L4-ov)CMKw{K~*Hm}i*Ig!x~ z!U<*pao{+3w9G6pU6f+HuRGLs#?Spugz%{-%j)}BLsD_?wy7&Iu0rho&k3S!kb3SN z{`;{0c7ImLUSjdc8Qm6rgt-eg=i%G=e3bnCDBMf?<u8)XXMe-!^qdIy5Ys?V!@Nt3 z%ln%W5nKq9PGLdx-7yAz+z<i9&8UMq3No8(1C+u(5P|pq@w`W8p>}7lS<{0|4|qL5 zGJcw6jUbmkuY|l%dzm&}!B8E<{^V1>F20==L93YT(Uy++{ogXVNu$`(GLFVYuPi3` zlQyy8aaP~j<N6r^yyuT2;`)*r!eDE)iL8O`*F;j%fu>s(hsm?@&m9u)+?aB(;066K z+AyFuW4OpHAn`DpsiBQO=23u_YT3vXG33dJc>H_+MRT=r0?p69<um&KvZy`<fXRg& z0u1S<OzH%`)8*<0DOiQLefitQC>OGmYiS&DuKa>B9G(GSca;`tZg1Na+i4U{$|ut_ zxYzNb*b~(0)dXG&y|$E=yIG0+yT`e~%e8mz)_&!7mJPejo;tRMtMmOHVNXgN8Mxpp z^`TK?H=)e(HjZNky&7Q-{WV!LZSaN_yz@rJc0odn%lU3>IK<tmjY*o1(~U$c*mXFq z%G>$=SkmCTxZtzZb%D*vw)&Tj7g-~;<iL_xaQ8kT?25<M1#Bk&7Ze})Y}Ry~-%FyE zrCO{FivP%8Q)A%EHpMqu@n_t8d_rYE0!zUPivZUsa`;7;81RwiB?m>sUeJatD}XfZ z)&?B_-%K}79?V{UHGatxmG|*7oj;D@K{mm*hZgD=&&mWkq$;CJOQzBC{^V6@ML2G3 zxO~C6%8_&~s0a7A4R^K%AnQIa??Z|sstE+wcD|o_I}fzxOp0Xbm}6^Ac-i^eHvPK( zpNHvZFIb^&ZyjVFbJv>2x-LL&em_Dql4`l2FkAUgz7(Y`?S|b}VhU80Z0QGRDoHd$ zpCyWo^^dlXHxo3=y;f^`An7HINZnKWE8oxwsj|On97k_4<+W3xrw*2xtHosms>L3x zdWm9&)Nj*{qq?kI4+kD^em5u(QKiGed#m@>VTLV=|2nsqX?5&81e7NlFE2O!{(F4$ z%C*ADbncrOLyRWO8c@FzgQC=aAqcHpo9A_}2pS6okljwhP{!uZQk68v9?+!t@C`MK z#rnY)lt7rBWb{DR`REH??&16_g9f%6fm`Ba-4U&|({In0NHq34A9KGo8g5muzSo22 z=;Z$-V)c^_#@wx)bVyY(PhZu8xu`HMhNab+7sy4FJy4q$nFUTMf(5Ll>RclJu8(bY zo%rz#Fw?3&Nr{<~^54$LNgN&eHjdsNMa>#5@qXMZN@w~OW`1ROn3lIQp<qV8^8hl3 zrfcZAeL>jC@-q8&3xd^dH2m+_*)#o9+qI(;v!q7ZXSf*UM}6KE;tAsXGKj<Epea_V z8O~$9M?XB5iP}0wEgjEpr+lo&*08Ac-?yGUqN18sQfLSVkRHUW^e-gO7VYbLg!S$f zKW$4b(-$(}RqOguR`t5kg1?Q^+3A<&*oJJ}Xs`QQYtfZnf?k7x{-|aDu`66iNeO;g zz-#rkhsZv2w*<JFRtz9y>iWAF!kVGkg9mx~&PA~0!^yR0S@Aob9%AjD5AHlGzs`(q z{U^DD>UY_tp1101D)A&1#+5ZwpA&fak2H0?!TPlQ;za}B{rX?R;IxnfH&Or%l<G?D zb=2P%AUQ2?I}SCVlKkRFzj4_4md@=#{g^u$y)bTJ1X!{x6MK#eX%aefyo^CDXE!c~ z&9{iZBsX`vug;)1=${Tc`&39%^e+2xMOtY&qO77tb&J#4!T+@xqfQV5p!sbIK)}?y zoK$CK51_c;Es(CC`&QS~8pB??X{`3BvVutw`FDlAS;S}g?)a9MmGUI}Gi40@38prg z6fa8N3B%x6b@l>9AhqbNPi%CQb>^+HM`4qc&P%f=gdLa-{Uo~HEn<u8zv;_#M5#~l zQYe`x-hV!|{;+xClR4+7mlr=-w0-ae2M864Su6&Lp$2eO(fA46s?3<TF&FaC4-u68 zMW_SksqdLIGjzhF*?xBBzY{(>eP9=6%9zrNd}Z`%C~&b!`<M2R!@*DOQQcu}_oqtC zrK9oAhFaxn2J9(-R=YjI-*LKjXHk@$Xy2E;DS$R?xh*acr$#kQsqn=5aG>C1yHWkJ z`@qW_p8b7b*sp&hn6G-U^YbFM5b<MAX4|Uwtr&KPIe~)RVGB*%<*&@O*%Gi#zAbL4 zd)rhHza5T<)Gg~ROi3Ify2pe*i6N>munswWBNKGi(}!1?W|-=eGOA>@ERXD#pFyHy zts$DV0ArKERCoq7J1oRWv+n~Z_5hicS%l%)%R?Um&Yyt4zLCZrDA>1?w|a3pe@l^G z?)L)}o(b9&z8MMF^6)KESxXIFJ|B#^r(yD=Hral|-HSuqEq0(R^l56*G~Ls|fPCv( z)fhoUwW;?&BY<>e&y2p>x9x0JGLPyXS9za%2FK4IMwOrLBW8kdG{iaMJ7K!=r}Zj4 zOOGTc@37lWJvz9?FN(tMDympw%>iy5{-z+4lkuB&4C;883E9as^O(>CbVkQhZz6ud zcM8V*tel*QevR~v%Q;CdZr)mZEoBw@`xkQ$>bB&|nRkoshml}a@=O=Of;k4#ld!2^ zh>1>-2PYCnHWppuWY3hn?lp?8m7+H>d6=YW?pm*NF746R`PovRoc~InYFd&i3-F+e zkYEN*uSKAM_b(ONyw{EAoH2qEDE`nNvHJ?LkPBar&m|Z;txBK#6+U?yuOB{n_U&E! znf8eQz99}RTtN{8_96K1NI+kouqN1I_5~xi2Qs|~+0$^sr|v!?yOI%Z3M>1mx0GkI zHL{Q}GBRow4;V)<IP#I-kMdYy=n8z{JvD{;c*n#-r`7TK2mosb5#-&1sUZLk%nBW& z#P!pAldWXv$#W5LS#LGh{DRN&kG#a&d1F3bsVn<bsZma0`=DMq=w@BhW20u{cfVtp zM-a)kvbBw5Sgwh0%B5Og)49p?x}&he9`LaR_AlfMz&CaC?ehw9P9nmLoKd_9&oQL{ z(rqnH)Z=1v#tOd_9t)6!=R%EVxHc8Z`%p1-=+$a9=B|444ULsL!fQ*iKv<AD9(8D( z(egd)%vHp>kMkgQls-|mAZ0?Y_JG$bdos>|ocM`@xSRk@boJoCL5``KojxP~_bp^` zQGO9!I3*dn;+RVJCip(SQ`IcYY>VQ&?#EAMD_0rjWj9$q&KD$_L7!gfTq_Ejko1k3 zDQFY9Ez;S1bV8=;2kE=t{}=lzu8D6YP8YS!bNIkW=*{s`D-Tu!&%Epiq7Ze27ge{n zTi=azShs$rho;)Rmlt=~O{GnNe|H1aB+5)*P2+e13Dr@nOz4tClBU4Z_k8RjhjU`) zGO@m+&QJ*bNh5#%XQt@liIv?k^ubuARzwr{JyJsNPq|=<g`P`A&1NB^`0=ttGRcS} zmsMg4J7?0qxQq<%zfA=^#$RWw2*4&2tWk&Gv&79{(sR<I{%y2v{3M)31CnI7Qw*e+ z8VYZ<a`c~m6i3W6G&o^Q=Q#lsu;AVQ!_heg#@TdXIL?L*8r!zfn2l}QYHZs{lg4S- z*tV^vv27c>-@ae|<nPWiGiT16bKlpXf&;pRclB-Y{D-HUP2EbOiEchbTk}pSS%o@G zI82qRl53ta6fvURz;Cev8L+IR7-yr6Vvh|d`GN$kQYQ~X4RdM$k4l`D+v)L2GX9C% zHvWgs`|hRw()Y`}&hT(Qec!9Mu_g?);IW+pjz}<4AiO>VxTjn{OGl%C)!%3}I|1%c zSJ^?_e}GjLd&{*(`8>zlIY6(0e*;RZxFfY0*H$<~@jJh)B*>H7>{Q}K2DX(52fzRZ z4xcW*@bqU|yZ$zBqTMgxzKDprmDjH6%W)nTWXVninVYsx+sxHRhV(>nW7WT-3$+b+ zHKE66X-jE`AmV|{ls;}#;ksAvy)eFdsA9rBS6W0#3oD)MF7?2Tqc@VOHM3X*s=$D6 z%A-(PSU)SkhEPVT61i*1G{~%oAKABK!b-1)1k>dIWwC^inTD6p@-Vuo9@z+qrBhHz z=WA)%E15uaDP~iDjeH~0Ab#gr!E260%wHSJe*FnV0tbnpmqZ6WgBd<u%8-4q!2vw% zfDyE*m5mMkf%GE-L%#`x0AVEo6VCZIvacNAt||xEXYR(u#f2aQ0{d1c|2rz3w8V2a z1{U5ohanzf%T`_U%P#n)xxB*ay1f6+5FygKFhMTIj__N9xS6*B-ca{5C<ZM|LD6`9 zL?V4gq`U9$JmqrQCRf)Dm_T*-V&^%z$I%1$>as)YX-K^-&!Uj+Y40Q9XR4p^kc~6d z$=&RS`T2T#=s|QUp2lncg|8q8;|1!r>DP~+eIt-ypYqsPR4%1F5aq|jgb(X2AF(!Q zr>{?U^HLi@8#zA;2fje4*9yWB^5dSdPD%zIr5{<?=YiIACNRl2CPHxWtFvwiMfR0Y zv02fppRuzutFn<134g$c*8w;T07!V9NsY(ELjWLsn(}psB^^p`sQe0<&gt?bt|g-? z2<=(0&|@-ThUh7ax)veq8oUw4|EwLu%m%8k(r+UhrAn)HW8}-p$d(V;UV+ss-w@7d zDAs40t%3bf7r*P3?(MkuK+casbSMr&QqjIhVm{Yf-|SFwemL~2g?jxF4Xk4>zfl7F z4~ucww#&YO%O%6dtr86!eA-pgQ!t{+7-%vTS~V;U0Kc$ta7CV}J$QxDn6BLgz1Qt` z>gO+GnE#yQoI_|%j?4J{-PhAR+Z$E@opkgU^al8+i&ZnXht%lOzrfqS4ax-59JXQp zlhK$osG0NIOG`^csFAr`4Al7L?ZmwGiZ^P|zZ5e7KsC!blyUT+H2J`_seHqt&%pa> zo(A7#W*bNQhE1;2Rz(kps~~4mYhP_N9FYi-?IyB~TN^!ys4Krr2&mwHlUJs6JKJ6D z#nvAH(1P=y`H%HOJ(SVIANzEA2W4xum%S>NB)q$cvG;d}lS^yuln~A?OwRKlz^CCY zps(e5XvXuuwXaQiYvm#?4y8F~l?~wpzUS)=LE&Cb+FHQ?4}N3y{rcb~4hx*!>^#S* zlBJ||oH<k77j~`DpZ_|%=DeyqWr0|i5l!<W3ENj!PfsaN$p4M1NR%5J2M0&R6qf<= zFoJELrqe>Zs$Ek`4hffB+5D=1Qvlrdv$e4aZp*`*Wr;;tmuzfIp@FxjC%b|0^~4t@ zVn+B0{@n&ZyDC^Y8ZT8H;}9M)Gpk;pE-Dc(X|4c&NmJDnXvK8Lz@kY%Mm!e-!H0>{ zJ{|;YY>~gF%w>WmlS4zhO9_E#yA&Zs1OAnIKh8U0v`fu6R~q}GXO!WeE`SpTvNTr1 zpY9rcP*P*C)vRM?RDt^mbx9H)jf=1p#H9xNbrx)5JB8)b$!xifIi3~6)IJk@q(K<S zmksea!amWbgn$rT`1_Y4qgFq8Jp$a_)}uho^{o>XoQ_Hlre|Ls!sNvK%^dtMC~0@Y zMOd_eRLQ{dM-+|m+4PE*x_Z+(;4@)jV&cx26}JWbu;-}v12}LdAt@Y#+T7aOI8A-O zsv6j7UClF1su^ncm&uURH=hyP)wM`@Hwt&{6ZMw-Gx3*;y5L{odlFN$)v=LG9&qH% z07v81oynG`mb4gAUfiEg4b<N4yP0HAWOgGU%Y%vs#V-@uruq|NRNMlj#!kP6T}5lU zSn~5T^IJ4St!c@9>G=-@rneiiK)Yw%s$b<-r~M3AkL%5o3SF-@_}anNYbtI#h-y#* zUdB*oEqEvWzYu~w*k8PuPa!w8EwnFfoDi3w%Yn!E>w$h5M`&3D9}{W0I-AE~LdnSK z+9x$n1EElfSAbrz3{PvA0`l7)EKK`KkXQ?#EysoC2K~l;FINCYu@Vn{h=c2%m|m|N z{p=sWg+ucohb7W(!#pgmk^bv1$s8^yhx8Bi8kAVhnxJ*y4!(;6^~W;F+ib2yfwDeq z`A$+D_O1M9<WOfB`o}cTS7yQe?c&Yp-NNnk-TCy6>U5=E{OMwyW?DhP!$Afv{lj|V zui=_KD32$ji1zExMscl!dGmbv=w;W|v7cvHy`{a+yiP@*R`%Z8>{CE2qC2Vk*gM<7 z`-W|6VAoR<>3t+F9J`ve_2HT>3!fs$`ZKs;=o>5o>1S=yv9HvBfp!P36g5chGkCrM zQ0081MjJV1<Qix)@m1SJGT3z(!x*oZ4>crXPQPRNp!GDc215C4e`i=VkaVtN=x+}5 z+kS%=_E(&*O^$T`1cL>16n7fWq(6h_z~r0)(e+v^rJIYp{EXLa9j%kvPRwADv2DX& zAU%NZ)&A$+=3i|XX9TdG+74$(Z_EJL!r+%mxSz}t)~93AMs5A9|E1}3e=oTn3<Cn4 zonPQ<!2D8rnRMFf_|HLBav|&`qKJ1G^q|NHIVtKPqUD|447Ea^)Ar+t+G4@_`Rg45 zOo-vCaqm9KEffHBx)SGKUD>74qY)_Iv;0xf47G^;%|HP|>pmYDjuX^qxe<6{%)~=_ zkH-}3t@t2J$=>b}^B>43$uLQK+8}X!5rGXLGNHUyKd-{TX)?vc#Kiqcld({p`2zD{ zeAfwvpiDz(7rhzLI~$g}$I2O(dBxJf>@a}Pr-R(0ASRagNNYmP#{!2kW?x0#EhVL1 ziY|*x#GptOa(Lt?6ZA_NLO4%AQi~vkDwNE&cI+?@w|w!fHpQWC=iICJ(BAuLg}(M6 zXBXl;p8aCb*tWI>A%ZV88j=X>&VSZC83m1W_rFz|tjKQuRyv(SXZtPoECZh(b6o2p z)<WowbbjXWJ8-1_&I8C5&{vGtNz2)WO{E};fA3YzJ34**B6Him*WEPBQ@X5zoJ~uk z=)esDZJ;xUDE0jz@whEG8Veh@!a!}Y?h{Z@)ekl^b!C5jfnKLkh*+o@f>d^??(Y6Z zwLU9_wiCJo`d1rZ;g+cb^V3w4O+x2Mtl`Ftbdl9+UrBPOUc{N0Ozj2Wf^yIi&9_=L zdrPj2cBdFC-57?<XJT~J`-QIjws(I_tV2yYr52O2PqLln!{0Oz%`da3otyDubI-;- z(_{2=xt%QupbbYzHkNKT#%5N%r(NG>j6gQ#l<!4}A|SXt*4z@nPg#w0FO@x#{`6{< zFPo}^>HN0~+|f^a3C<Y@tf2;)=&{|r4w>lnw9=|G;vge<@vbtM-D7f#BoP%&7<sqJ z^G~i<-Haah_PS=c)9`{lDZ!mzDz~jHjRIdMjn<@>!l~9ks&eq>6i_5~+dO;I4%2`M zG*|J41Maru_Wt>p9&8qwSV_}xZ)^~sO_22*8U%TZ$$OkVH6(L7`uVVykv~<w-`gMX zx=DHOT~p2E=bd}Y{|v4OJ^eMDF8LJWwFD6bab%@sW%3V>K?gwdfc_hR+2rT<1OPGL zPQCsEzAL^T_x!mr3dL=M=u_y2HS4GdymG?%nn};=j6#{55JtgzqzzS5NfBx{;=TtQ zC5nKB$APSeM%!l#q~r;iXkm7~^5F}C3yw@ODRdpkKM&j4?ugD(FGc|Ixp0vLycA0O zR{2v^(GVQ0QCWr3VruN&iE_3tAr)exM``WsF;t67+mbn#H$ik~`pM=!X$^#ryQyWV z@ju&?d`Ufue81lG+-}~akG9h-v*21L#5u*g-3uUn3g6kAL^Q8eA7`m+ONPBE`L*~% zLDWtL&mi;~dH418IDcK=ftoK|j}&qhas6PBQMrv-yMUCH5l(M0Z3Gs<6$&j(qKM*S z9yiAh!X(6a9BVq*JF-rs=s1%V&+`SkKO|^36P-V)K-F6_o*mCT?}bT+?v*~k=%sF+ zdNA2aQ5a=%!5x-76c+j~FEivAD-47hOAX`^tgcZaXv2N>hXg6X&K_wSGr(W|)4bXk zQskzVWaBw*M^}aL1T0)N1XO&^Ck9ZyKV3DSOVFcz_I7st<^EC;qptnj_p9IOU|c=F z`77zowspX`$D@F5v(b04;n}7{T9(XD&^73@_wGN*n|3LeDv*%%Q~XT$>oxJ*_X0d{ z@pdX`82SEKq46b;i-8ddcpL7SN*;I_884-9b%7HBquhR3-MW<`9*MeI&}WYXFb~;p z;dMKT^Lv<==8j5+wY6w+TF~v`GflGh@DS2!Vy=Q3$A%=%)jXwVv4kdNm0hdHiUQ+~ zUJUk<Mf3L0oY6l4ep-|x?cx%7Qe!W=0gT*E2J)C@X6$p@G@;_+?6!GIS<6xPu~M-m zzq|DDv+*6sDq><>*MmmVk+(=yFOB+y0}?8y0uQu*L4%_?JlX>+S)az-c`vHUjxO~w z!5F3fcar5vn~xy@!l!(*;e8*|<W>A-q<hocR|gJz@C_3LtOYexw<zTcF@ecanDm^g zN2}FeYEnrO6(rqVyN;5+!pBzIK|u8#qiS6yAKRi%Y{leqGw;|e{X9TSX=C0F1o_*& zS$*n~ePlS2EE9cJlHKM1dUn2!ckqG#Itv4q`#{Iy;?Kak{q>A)jY5;bGR(x44d|Uu zMn9Jh1TRnre$rImM3Z-JC|)Ee=-kzO86(aBTw!boM7$Emw^YH`eBF9CSWR4joD4+l zy<%Wp=8m0I0WZmY7GIQJ+yO3J*p}<P(0gp1)9v%R4G{1P10=u<d;KR_W+=Yznf_ft zNoh3?S=(9)4!-z#oZ__IO`7=IX?pN3`mfBapCYW3lEYN01{zEP`~nUevT|~b>OZw) zyuE)Z2!#5X+M<SsRJI{3ZCK36E(Tsjp&bued~J(^!(rq-5#G8dA%j8-k<~$lP{;`H zLs!U_qRacKWK7|LGE~^~{(e>SuQ9}IM?2;E-vMI+)j8Bp2>OT=E*L(F^9WICDbomA z@}KfBA~tOjYu~f0BnxWFzeiY&UQi2s*DEP07PbAYk-cT3#fMRyk57#T79szXQw4gl z)cZt0k0R9%-rbkrS%EE(HakXOE)A)h@qEax>OqL)0o837WbAHCxcOH8i99VeXL)&5 zniR)484QwqAORy(%>Yhn{)u@Qh$Y|_sS}Oy@x6AX^#Jx=$8!U#*Th&#c<&2Tw2Y*9 zQD19YfbXuAxNAqA9D;Zzg-A}4=iskbf{*9cp{CxAT47-&@q8P-kY8z2@XuH4adGg^ zJ_nA^L`9-oX``Q^?Cku^9F6x+%M|nE6oT}{(||yJ)vJp&It7$?Zi15LYK^t2AY?SJ zkxyJ?W-7?+t}m%f1PN23F|4%|2k1|L02ql@;j4*-AIdmZb?Kr7GrHnCR3Z8A2x`K* z!Z4|JE$Mcp3<Y89&<p$*y(3QTxM*lHEf@{l$~<9S1ZObL4)rjC&l_$_22otb-u<Ld z?^)l^z#N*E@W2&wN;)d%O(F%1Bf-&$(a-SS{7;dW)Vo%(d!t|1UtS>Mdxh8%;~0L! z_O`%+HH%+dOXw=!kT|xmmF{J|iN^Mc?)}d>B$l&|YrCJa2v>TI&d$#{+9u_K@h}uf z8ij3yB;LqB<|VixYT?G0pvXczE)fw-D#EQz(1QS^yrfVBYyBt#hd~rW=*HIJnNO7# zD(lx6i7+>WyDC@Lm9Yie7;31xyE*N`<sIC-i%!t><#eJ7AjhK1?aQm=t)2ipd_vA* z2MMXs5sM|p1-E;)SzU4Dpw}xH&5&KP_VvF^R<b+{wJ9T|)Hc^ANt?bNvTkmvWCigH z%FDFP?s?e-#cg9~Axw07mtzpe5$9tl38V+Q7`PEZLy|icU&tBZ&FA@d*b(!7B0CeI ze;5Frz@zyfb4;4TSp9vT4ikl}DQc?gjMBhu92@u-Flq*LszsE)-u(7$DLr&Y5=l7V zqs`%O+<B6E{~?wnSYjFWF}NbH5ZKpk>g)Gn(ZgcYVZKZqlTr964p>5Xfz~Hs6v+Q| zYqU45#P#U}wh@>U4?&@!fA)|PLP5faPY!g-%5U4Ofelnl=lSNzd6{*m?$U{b^}``` zaOULVq(|}rmMNVv;l=N{!hu^-phhEx1QWUw_^IFV5yzb7Fnb(0mFP|;%(w7Dme{UU z49xzh>^q2YZTS1yTs$37p3iy!|FEwE-NPg`dwR_v?Q7v<UW&W8wVuB>f2vt|c<h=# zqHhuGqIdIf35#DB4BD-*kA0s>v{RlATxuP9`5kM%K!w`j#@41Kw-BUWvm5&kxl2%} z&|UvYBH*bd*madXBLHKZ>ScAa){*I~GfGS0+`cTyC^VBHVPP$4K;ZRp5*7Tbv!7s3 z${9Inpx_-%qMvcd@G{2>PQ(g2kGcs%b2fPYSdJ#yd7Bx3`=r!QAN(HpK9q)L?lT5j zPoAjGG0uF=O)t_Dyu=CLN!bL6^gRNc-$(qLWCT+-AOYqw1VdkV5;3Qyls3YfqDD+* zl1R^C%t_l}AMQpEb%oZgL@s`9Z{So(+Jn}b?OadyBneL7U!`Aa0dEF>K7B8fpo43t zBXvNmpPg@LF%CiCgEBNbHyem#A}U9Da)0U<6Z_Ow9DP+`%ho?$FF8oSlgR2X-^8rI zy2{guRTDfU2B9;>4kDv4cid<**~EbP@W0F^U1oh<osL?@43@-iN&Fd#&?P76kSoc| zmvm<1x#2&H4p}x$^Z*}=as}DMM4o8iy_+epq|x##r|4Q0li<_8Y>J`OG-EBg&vV)< z?+?ay%<zgn^w`eDR29~OnHdE;?;J~F+|hF%;0^u@iB53fvtz42u()-bc}+jt3o+Q~ z3-j=|J*E$~dx1C`JQAK*;C`g*{fIjq9Ua%RZZjE_!a{w~U<a(OURFs_w>UpCnYG=% zVHImgsl@Mj@_b|%hoM)sjSOaNaz3K3b}_L8K`#80L2g(NW2RDLnIJx`aOW)nL0=_- za}=1+^AUGSxqjGJvX|Bd)K-S*DIw$NkR~tP-ZAgnu)yBUZIQn4y^JiP@JzyFNv&j0 z!;~esz7I;k7qShrG2Wj+-S1DUZ9xVCo@<$?j8NJrr_d${Sw>HIzp>@d0PP~|pSUD4 zMa{Ioe34AOC&6_p;qyLm;eVczQ%bgt!eGNj5%vVU*kT~5v(a5^ftI2OLf=zRcys{{ zb%@z3Am#2~PtuKAtD}CeBLm#l<!Q1SOBd-ZkpT7k^L494-=o)dMH>V*_KI-&nDJ)@ zv(ZnM*_`@-z)WFX3w!@m63m=vU_D;%SEoYDV9Ckf0{Hm+Yy8K?l}M|kah*e$E50Aw zX7!Ti<Y!%@Im_rAKj9Ji6?#{;Yf%FUYUWVDX>WKqWZ^8-<<y&E>Lwx_^}WQk((H=I z{MXR_?e*nlJHRf5_sdQX7o@QF0u6LTlqf0<O_})`;~L`@3{=g}nD(`A4O!g0!aNL^ zmPVyz)F`(n9M9VdMYkDXnwlzpc2-GarJTp*Sqe6V_1W23NlT9?{`CFY+4n!R9AO3J zV-!%c9#Z=K6gbAGZ<qzm6e9J2AMc4Dm;95W7(Vd@S=<!XSLf_*@*8fEpV#Cs1{p#} zJDRnz8%EY2;9C)h`6bjpe5eg$`Ks|?5NFbK)s7L<y<z6V*<FHl)Ggo7Z8wAyw=fY2 z9$X+PsE0$7K}G=Jm5_-U(@cbdb;_5d-xdYgpI3?FyRWvo?W&RdEt!I>ja{@;E*rVE zp-F*gH-R`#Oeg4Az;$rpX&qWqi<)1oe50z4(b5S~j2^9A=SBUF{F1}%<ND=&?#lR+ z^$r^T%S6E73mIgc-$ENH^yFvYWKpX_GZyw+@o>Oa{>xIaeM=%;W<mfM^VdltWHA+# zl!T?ttd4=u#Dcx2H0<WR^DHi4cGt+dj~EP4<{`Rg7Q?QdO8*|9Np|*eQKQcM^QR){ zS=(He<N#lg{Wu&NG3#FC@H!Ne)d48P{T_Jl)7{GiWKLm1IEW=+5_ZJi;xn4eZwfXX z9HamvT8*2kBR$YZYPY5F^S$HmDngI=73Af!W@lg40ydBuR)R*l*L*iH|7<n7Lr-Pq z=CWmNhq=Q)N+Z*Gi*<=6>bLu;oY~ryl(s0I5o8xTNS8IWw#c}db*nF{%W0Gx)6=pr zaEQ^+k~Pgvm*IBEBkkzJCb8GRE(25}>JEKOVNbaCOZoEjsHmvKEgdBYz<&`D5vU1? zi6m^#??P@fYai!^jC#^y=#En^O@^ESR~*ah0~Qs$43g|}Zs>Q*Q<69AL>LHBQ|R|m z43wt#+!@s<TZ6xwQKvWCUCRd(ml7t?c;XwONM8nl5D5@Neo#R{R=J{(eG8*crBiEt zRv48Cz>@c2z5)cup-6IT05EYV8>EMqSmgDc7IMXKXLblCDtf{0Bv;0`hPgghASL-L zLEk|OGbBZU$+6b-!Il+3q|D@%_0yo!Lsm~OJNHJyUciBQtXN6+$L+b9u9S7%PA4fz z*)7M-b*kr-TNHe6cf$DWpG3w0Z9eUXxes(8z^_N}pm%heF>ZM{7DDN%yQ8VCY&O{F z?Hi{6Bh=-Qwr7@G-7KTud%V<-nudnE26R-<X}kF#t)k$C!I{y-C#4!8sO`gJVYm3_ zbf6zcoJYJR7dN|ojYIFoU>E2nnd^4D(|0y6kh8PC9_-X+L%QAYn}}*v(7cy>{cL_( z|CZv=mw8tW<>?s7c*;1;u53V|FkLNmZlB6sp(_ShTfg*QU0PtIqEdNZ{Y}nMCGwpb zIvA^UQMZ#}i;M0Vp0ZDa?0|R(-+9#jJ)(UE+Q7g-QaX{?f$jN*%q`y&A5zN-#$aq? z84_kI=An7IUxU?L2=g5J^$;j^Z;{7=Lkf+SwurI#ei;VZqzjx=A_$g+{Owc83Ii2u z_uRlw-gkJ+F}E_mh5k?lFUWu2O9d66>#~6zp{tK+I&;~SSDNnwbOVy{CQfZ1yqaA~ zpo_d%v2$tF!~N%j%%rs*Qg1TDE<_Q5xsffk$4x_~E_?i(|NipikPQs2{jyEs2<aCH z17am{$kyU`jrDt)H8r8=pFU_w?zF_XA2Xf5d`Cxr>yEINmsea1A7Tf^vm|74(_O!k z?9~Tg_Z(=LD`JPXkV3(TwQrrqG3zt|?4y;S`;Xp*E93iEcwlUf!6dY2B5*QxHj^vh zl(if~2H$X!5X{=97_K<Eo#KDXUy6rfXFrs;KblCar{FVZ{p^3_6y`tM{eG9^_t|ff zJvu8Uc+E01zD$<-r(iOWp<d!WCu4jZfuIOnr6T=u<uUnB&H~H@voV8T<1e>umjib@ zsG9$QbDFuiMSB^sN_BJrG^V@I#XN7G+{&Q#p+|e}<xguhwZ8{oLmO@l81=^CRy>fi zA4LXP$R->^EX;G@*`LzjP2Tr8?T^wvJev3`pD$<<Ar=S9g=3Qu0lUlIBTQQU1kFk- z*ja7-oiLGt*RI5g+4GYz&;irf&~2mmwGhJib*Ia^!w6dxe98?r%MbHJS&l>965aYO zS?9`yE5<;OX23=G_8kQfK!%XaG5%QEw(324^foHLI(mzreWfzN1h%ZeSq=tlFGouD z_4Im#)xuwM5F&{tq&<D4dszxM)&0^)$c01~`RhWhhmFKYX1!IjK@X{Np7Q%pq`(=~ zZ&?O{gqF#1`d-<}%IaV&nW8g}wVZSIIqP}gXk#bD#6_W|6(ld@ueARB`wu#I=HqBQ zwlFupY1pSYxR(C&;b9|v^r*{BlZ5E@_nUP5Tz+Owi_qtRUDEf#Sr`NvDn`}r7H6fk zce^F23bT1qkHX^_h4vryqVy9J#Y<>GrAr>GfyTW}+&teEG)lf^q<wdA$OXs7)fGtJ zs%+uMaW^;&H1>5mI%eiP9vD6_g$^6sbV2xnf&$w{oY@|2)4u@wdYET4RfXHM?0|x@ zf_1mMb;;4|Hk$)|WrSn57lQE%ht7X%N)F0L_TEA`<>+T)v1pzSP942SRkVePV_Sim z6OqxM=-Q3dV&IqAu*Hlpf1>;6<o(Exf=BTP{XdS9;MoCN-toqZMUkHT%<@2lsa_?& zRy@%4ULM#nAW{?pUe4z%S?l>hdGT*3-j7=bi?w>?x!Ws}Krtv)#Lt6mqjpdY)x|du zFHpKm9{wZO<I&v6Sx)}-G)^|Qf&-_aukdu^w%7BoFg%Q?I~X|STmwmymVri@kh(2; zvVUG2LL>pGl+n`4`1F^7Ogy^Y0dE(Ed4Qap+<N>Ck09L%3{cIC&6WgdGN-v|YD!+V z7d_<b;c2_C65JcSg|)Ltp5Wd!vE2~~K5--PQRh8(u|IuX2f~(bi2`QaJSc7WwqE7* z+}}K`%Ib-Qp*AV&4KCYqWo?7fy_rkZP=^Yf%&pq}TiPH^b{@*AZvV+(080P|)2F|s zoVJ4dv4bWCK-6V(gTukU;;b^<0HGQ0F_A84uX;`UZwXR=_<D|9Oop{@OHF;cZQDOb z;AKqT8ggE5b3^Y<3L2{Iv#{Skzze?w$5)%YqrF&I{2=>MbBpD65Y5+~WN)go_R&U$ z6WhR<YJCd3cHylzl;Xg&n$YN@yoA#V8wS589xl8=JhWEji~4mPOx0S2rAE7g2rH}% zP0%4M?WMb1P6upO6?lEW>_d9Gh2f4PY3!Z6HOPEn>;fy=Dh$jK=;c*-qevnp<X^Wf zZb`kO)M=ZD^`T#mb#8Km1EM_=>Wq_VNK+Qd+a#>ZA3pA9^)N(&D34)GMc#_F{xP?e zRR2H+a{N_eXXmu$8Vle6Y;?M<6Fwg@xL%H+h{M6zqk@KpGUXK&e4$7#?N?hGMCXK= zR4u-)kT#Da2uMjqfKeNf3vTZ}-8EbS(=^n_@;>1YcM8Q_owu3)(AK7$W$FG$k}Hki z|3k~*j}KJ`#rzWg9`qSXd9~U&Y6}FIgb6J{WL@7xX~Zp~&7j%4UAr1RXTKl+Y%gO5 zzYK96LWZt2#q9_#7vQV1IS^wKM5kDh1Uxn7kDE0*M4k5n^Fd|^W9*O#N#PI$8lJIW zB2|OeX)LqMzej3tQ7!`79DZ;1?XlfU!dQE8JO3ZJ(P3a*B0;}(3z7n;_C=^u=|jPc zdW*40es!Keaa54*`PUQ>5$oDxD|BDt;BoLO<n3?rSk!$B4y3fgpx4>zQpr{2yI3t9 z(%e(bMzZ65kkxgkDZ%6nr?5qIv4kr5FsVwtYDOo&6~SMdT<8%;-xkQhM1kvo$4(<; zVJ{QhmD@qo9U}R4YhPseHs5*2bvt7=0gw333I=$pm||QimERcYPoSA@>0(;d_KL-S z$Ku<iL%+x5?l$fN1K)r-_Dw~mf<QIy9kSbrh(jm%A+(2Rnr$kAy1`42Wt)Aa!C8C& zc8*IiJC7#@6n<cJsv^bjz#4(y=}fL;Gh!x{s#zv}^k-D2Dnn*2@-d#Xb%E5WSkNh7 zl>!|rOT{z{GLEw+?;G_<KBYrp78kHqnjM4CX<jd6GBYu3#yBhH-d|1({Ll(6n&o<g zg?-AUcvlihBeA>%Z3%1EHw$~Nv15mb-UQvhOU`cWWEIB{FQYD_p$JD47TF@tPrhxY zUHgdlbT(CWPMUszp7#@lg{bYAiJ~R253XYyG<lx&r2Enc&)qxxgt}gjvd?_W2B;aH zEA>6)OW1T}Ql{)K61o6?A>-g4#`l}gihpKlI?V?Zy#wQHMal%4l9CDCWxYRLv~2`1 zp4hx|VX6isG4F(TSz&e#f^l$Jm^DYvZM_YZbBM=!EWU9mGDQ5l%s?i@ZEpUs$-&Fr zfs+Us@FNiqSUz;3J|HZ8Bylz?6%E)8$GJIV3B+URe!u`9@nu~ujuoBuNm(#AnW^!7 z48;E=IPtsRf$!JCKJQPLAsfs5f`S(qUwRb)QbdD8oB+-j*Ipk3pVx=FMYNJ4dg`@T zwTM%V4oN{tpV-E|Q#H3hQ&at}wm94T94x4$xY0DNjBy19mOxn|IX$|JOWJq*%A}w~ z`lk$PZ8dmdt&r2gCbW`U6*=Yd?oAXUPoB4TpKu76o%>hxoj9l#TsY_(M7$l(jfn)P z^fw#+n?6PZ(h7z>SvYNVxrH$qEHw!IS`P-x+z)*k7-KMBp#m+);ugqbfzndf0)uUH zn7zBU`3yVW{66(pi9u|ftB(F4s<yS|8&Lr~{B7L=<j=uA!FPx%fR3_|_Lgg{wTeS% z$yK^*cZ{uMb=HdA?r)8>u(XSI*zXOQlJS&4d4;&a7~rjb6Gl<LG(-eMj((Db+Abp* z4hM^KgI&Z2E{d^Yju`c{N2l>+gJJyV@xAAV#cFjkn>JkD@d)dIB-N$OpO4#|)|6%b z#hIJ;<(?-lzsE`=4R?eMb(?}`1pkm&(;r&H_eR*_+w{cUO5CS^l>~2xDz3bgB@;Zh z@`nSYxn8JT8~zCODEuRDj#)j8!;ly^KgF9N<;EKx+Z6at6AWX_Eo?PjhK(3Qss4UK zB7wdw+gEd~CbyybVQr((EQvvP+Xa@Z#h+{G+ZwAxu7?`8;XsE%;}YVFI4P}UsgO#~ zk%*KnGr@Hg2fM5kN>bKxP6z^8R@fE#5|GJUAH@zj%)4{b9|dX7`N_`Xm&3Uyd}4Nk zsd4U_h3<dN+9UXMKh}bD4J?;KsG&H=C?O2J3-Uz!qxuT`NpfM!1j&ftnG_6!)(bww zSA*Q+S=O(^6#+yT7(mJQZ}ThnJ|r2(Q)?i@mDzU=ULEjiHy3~YduB@B;1IF=>z)Fg z6u~%Lkj36`@!3|9)hK%^U_=Nf1>N9K@DF0j*;yN(eWj}<@YCkjy63UlX&2m>(%M>u zY~Iz`t%ARN8QQ;odi5(@HVW*%9tcMoyz`alVur7Lw|Quu@ouN_q+Hn&Vi>-suX4h= zViQz=?Xivv_w~jipFzMYP`__jST|~XFJFGL_&~9@4s`(OD)xzN`p$6FX`ojF`ib;` zeMpI;l?yQa#xhu6P#>h#RSH}GR!R|et{FHtH4{x9Z`mq|f1S-&!cO8^rjO`VTGDHO zK^td_)t24Bt2uV(umi34EM7AUK4muN9a<@_A1rno6b#<!dPQyV)v8p$^Q&|uv}x68 z1}$T%!7vgoZZg-+#&3bq#WojePrf_XNKd|FYoj5bSyGcA3Pf=TMWG)igoCzSZQi@5 zD5XjsvfoU(DFq0z<{u<C;}(VudMQ-vK3@@HUo&9TPde_nP7$1;ql!3F+=l}E9Z_M^ zaNeB%{*31)MEp|+((1Xx>U!CWjX}OJO>6GRUb?lqO3B8q1U}+!CfV<ZlA#9|7Lv7k zeK@X?enX8cDsctAniS|g;x1T`yf2U^N~SND9XN)(z0pnFl%|d5XQt#gmdpX~CK@WX zYG2`mONqggUW;E?gQKnW_Mps#<K`U;;B0LgICUOik_bAFLl0J_ZA%}dVKe^M`}b72 z&_5TWL82b@>D$V1=v!i&rgwKeZTfOhk6~u&@~+FbI$B4NJak9Y0+)dXPEbq?;dLb! zKQ0%=A9F3JWpk{w@RQcDjy&0Zw*xN8qFNfw4&^n5hwwiLeGUG3lw5yl74#NuP;&R$ zv?y9ot}u}yUrt0?SLY%A-YihfeRq#5J0};d*4j4NUP!WKSDuDC_cMA;!ZN&ReCkIr zCj2>1Qg5X9%%w-WUT$-6N;Q9PHIrW$=-8nV*USBe^7ML|+#}ebg5Snrzx{UceBjET z`^eAet9=q+9r3u#v()<a)zY#wd8Rm7u~Z}3R1kY`Q^1pzjgJn7G+u{||Nh?1^g(Np zck_()@IJm!n9#$|QO^YOeIzgK&zdG5nHzuP9|>d%Pp2Y-rHJ)?(TrN8&(F}4>vL%% zBZ+u!Q~+K9Jy{v9YnqE&BUg7_e*!Vl&HG*`fpQi>;cQYepJ5{BP?x6l$EZoNWeP+o zycf~@;F4=!7Qj9k5}Ul|Y0d5|hxT#$`R!@lsS+WlifR>B5I&cf7JgRki&n*Ad(h`v zmW;FTT=9tYlW;M36Bi*EW|rg`$0D<K9rr(}G?~96KPLm`pm)NJ3}1@WkUPqioV4-Y zci>87A)I89e~8X0j+M$Q#qxoi0`9XX?#pg#RSTz=otkG8k7dnj-8Xc)BtHF#-j*9z z9wXctvC}cHHHYoWaK=Nv9o^v#SXl@Du>V?bjohBIIWl@08ymZKh{ME^wuX=`(1{aQ z-y2vShl=+7($NC8(XKL+Wr`v_N9+fA%p{Sc*Eho-h-4?H(FL`E5XoDHKRn-eGbnbR zW9u)KZ9+yy%*KDa^q-%{pJ#*xsX!V^^H(XV_G$8Agv9yh&y+bq*V16m-1)OZ_1m3+ zVKRdzGjgrxH3d%()6+4757)v&|Nj^cZSG@<5<%HWJcRg~-}d!M6zxem^<*I)R@4=s z+7PDKd(TmdT6SASt36xZ{2#AD#Ir*0_RV#@Tevni?gt@cz$AYXr{=QS(QC(OAmMPI zYFb%aSIF>i2>sq3E5*^nDHnTJe!*z|BpDl5xH)?`9vMvRo&^(&jt}B_XVVX&ma!>g z(26SbMxle+cdQf6nYFBM6Pj0MJ`v)nDPnNAZzM!`Dh4ouADf$ih!A?QxxWOOVSW2o zBAt~6$&iQ-oZO2f)bt`JV?hay$zg5|cEfTQwz)>f{bO51?=rvT1xKrOiJ1<!!I9P= z_e*#PZ+a?IDts9C$w(y+_zRGUcz5day=-!45S91@El_LZJuhDhy|q6Xv`_tHh-s?} zKSeTn2|@h4_dGh9?3+$<@%4H6`e1@i5sP<v`L4XMC7dTJpw6Xlqz3I~jjWxl<o~8l zp76(96``Z}udKWj4O(pMypmNii}r!Bi;Ir;>p$bT&vCKl>mvOt%~sron$UUT1a)E( z0uA%N)vdxKbcwgOx$W)9Ety(dCgjK!4Ux|%MKY-B3iABC)^z%EfjG3}Jh?t`Oi1QB z*M(_Kqsqz=eq1tAm6fAlHTKNoLARZb9-m9y$MGCExOXtx;tPxQqWf5_;DwRG-^PZ2 z*CNB;9u)I16G6SeLE)Wi!vLM;9gS7W(|>Mb^MT3x-r5e|AKp$6ua`3XjOUQ_by^T# z8dh^A4wa&J^K)=VPc}QFkRZnn8os;bho)iUWYnoHh6oaX-<t}2A1x^~br!Dozj!=a zim^N^)80^iBn}@Cbp6Ho8`G@q&IDf2u$COg-yeEuUTL?G^dlgje!?uP@345QFM0UM z%T@p0XXUFJSVWLS$U!d^(s$~8(WE0a{3v5F>EyRhaP|$jhttbz&)?VAhZYn`2+w^4 z4_jG<cLjP|?yYg8>rq30I<_2*PuK!7)BzyiKeWlIqzRkEt6XwwvXq3&;3}r3Cr9!W zD5S7@WPLv9Za=C*!~O1&kZfzbU7E{vpQ_s7Eok)rt&vzuRQE$ml)%)d3)TIDSK*FX zb^K>uNmCMSRsMvN!G#&WCw1)p^09gI+QEcpN(N=}Pp9uelxBmNhks3A#~DCo?O5SL z-K;d<<3QVan92&PxtcXv-q#Z2D+NL8G5jMa&rZ~Ye!_0M-R-#G*z|@if(!yK5-MJ> zGA-Zx2+t3ApFav_zt}tq@RT7s$Foh%>KxS$Abxu8DBI1hLGu|)qgd)RAI-B&9VW}s zpl9c(iwT}qQMC);#ggS^igELVhC`M0FwqYh#iHjHiweL=kG43~pLy!i6EB7~;VPEZ zKrgG>*%9ayT3ob{L)$x`gjW}p(Zp@#8NzgY-uUpU{hr6yU0kdR5HijZk?#4iONzkp z*G2w|wMwDGnNJsxHfVUcc#5kNYRmWfTZwk2JhfeE9WwHS2_UGyu)q~)`myb`k5Zy9 zl~_DdDlOHQ)2qo=d@HQ_hpTMDMH><ROxZJ#o_P4AI=jvNoO^Ga)3wnX3)Yy^ST^2u zbHg3Eg6)MwD{VpG&@Pmza8fRINu*5Bos@chWu>?Yj<+i6+iSlvZrN<k;LRVC2kEzi z9#jpEoo6<K9hFq1F9?PbRWJK!tV@8p!N?I|gUfz-cxBjBV|Y|MtSz5&CMrV<<2oE< zNLF6ffp6cu-u{%S6Q>{sK72GI8o_FRPCZGqh}37~j|6U$fu`f#t7@^6alZ7DZV4bg zAiCY-;<d-#*0T+jr8LZAvF1*aa-}OTblu<aBHmT~L|LPgW-@b<=@XBl-#$&q<H@Bi zU(hUf{1-NY@-<y^D9dXNslt~sUA~;Q{~tp}`mVcY6GLvWjFGTnE`Ep+fb9`LD3<1Z zu6|kfu4~1Q-}fZ?J)qGrf~mLaVVzB=QUCD{oG$A9i5LDnRr=03)@RIv3uRpA<XmJT z^zeF|H)tjNuG95#H+kk+QSlE#Jd4rMG*B1`XxkyVWZ79L_MYZz;TYikCx~y=p5`~E z48xyIJo(AXD0_R%`SK1Y9pX;Pt*n%2CTs@8m+y5?2AF$1D+!;-3=M(Gr_{ugPX`05 zzjTJoRGR8hMW)+M)WI&|e4&yEY<Hh-uy0;WiMJ{OySbCFqPec5WHknD@!#c0m~7sk z_<l0u#mzFyK2#`WRC*G2`m!>#n(Erh@$Bq(Tv_{@+c5C@e}_Z)#)FIc__}c{R3=vF zi@Y)K5J(AWA6U_`eF~PeI!HF#mZabv+~3P64WkqF#!hP0kWz02c=%x7y9PR1>Usko z?mR<FE?O@0K6`aS6RGIqL5dA+?Ha7QjLem0%ucfRBVlP<9qyP~!d)<)((wHJ8z*=0 zE>{;if_Gy&T+>Nw&~dmw-u>tB8u7!_?JQXl`%dr#U}?#lD!GoiWL*^-X395|0`4%W zoc!(0`ca7K|Nrq%+7C@`tykV!NBfAbY$+iaAr6lIfiXXol58Jt9Buyhh~VxdS@sF7 z<?x)6+nyn{P52uQBUMjxv%9ySiZ_pd;hfhK+%qASs*a7ij@M{MusweXCruW9_8dDm zHKhj(i6JnX{mr)Oc88VNcTX1i%a`Asld&yp1~6TH+GyqJg3sN3`CfYn?%(QUZosm+ z;ggdSvaQPgK~!-F<fm}dTWem#bTLZ%&q}cB3ZdJ(elw9k`=79}5w}|fPmRF{==Cqj zZGXumE>WzBNixR@&SHICTQPFLW%P(t&gjldeQ$G<P75<nHPpakNwu-RzrUd*03$lH z0@_$hw5^r|Q_ZI9?#<5Y12eH;c{@6yqoTI#5vnO^xu>5N+74<3t8W!D0s>b(6g<nm zAtM3K&S<q=cQM}~mG?YJNFnD^hN{a|UT0C<__O<mK`&oEfX{&g>E}Gj`PtIV>H*Ct ztGIrl@UV85>6~!%CRhj6PUx#uZ`nTbLwmTGP&+rCMUCr;1+%elXO9qX(dRAzcX>ot zHVlyg#lyjBNU@_Vwz~fUQ;jikvY{|l0N-k&#12I2%h^Q2*_ZN0YCvtRgRysX_sVd^ z$ade3Nl=zXov!+RoR*g6SICwNziGLHIW6dOHyNmv(n-{;?awRENPqg!$gls6DN@^_ z<rxJ9WjEI74a3m)Q6q=XP0Aa?_W;PHT{ZLz>W6@)N|D!}ni^4rYC%_^iXaD`w743k zX>^!<lALV=!Ek`~MH$w{g)qGW$67KDYm7hKGk%9c-9?^3%*EL`fjV=ZWRpG81!@HA zk1N3$<cI!aN9n;WB+WzwAvC-l_lfgI@KbE6O!b7e?xzb>T)PYUlyLuTC$9O!``y(1 zx34`nue1B}(j?!aj+N$`b;AA)%1bs@P`$^odUbZ(9JtMnCuk%pvqmv!)sm;rkP34Y z!T4JqBWYu^*HuX0I@&L-AlQ8HFqr$xf!zhpxavGt0<uAHgCF|KoPD-_wT%W?)2a<T zXeT3cH*|upQygA<^Y<sGXA)+gHFk}DcgMkfZltF>v?eWdDPc(f{SH4J1nX5A-?=g_ zuP9?ckf=hPb@X>Lp<bhDQeo1QdgX*TwQ1gpObZnaJPA3wY%fU@LC^vX8!u<vabBP( z!h5lrto-=p*b6W9K7u5o<-Ob9xcW6z9b$t#Oy7=SQOhmOy#3F|3+FcVUB=qn;9ybY zFDNF~bw=nAOLKMEBl|8z)y<Y}$o+Ov=$sg*MB>4yP)m@0r*cNB!UBOnx32pcf&Wi0 z06e{mVHlX`iNUbnBXNVjCqXFpg%v5%!7W;B8yU7ZVTt_X>fgUiL76AZwuC^sFVlGB z988b?LpOwpFtqRDE>HE>6@-ik>j7Xa-z!bus}MSmnY&n0vVaYZpu|-l^>7O05qByq zte2fewzhNYJ9RDW9t;&3!vG?{LfLAHw9!-z1-&#*9;y$m?fxkE<Ffn<k`u`JvF|!` zkU30-5abAN4il0KiNj(jIQ17-FpL$Z&sgAMGvPI`;^WriOMU)k-yEozkis=5gbFb9 zvo!Zp(Kgjq6aE-XakFdO&iDVv`M|-!SNxZ5h`J~<Y9vWUo-B2mJoh_Ut}I1%wp6|K zIH;!jT)kf^UC^PKGuQ;0L`xm%dU@t}*&+PVdvZ)8avdem6Rn3i|L*BCI0>JE@bprY z_assaxOsV{9Fe~jATF*keqmbx43tV>sFM)^COOUXyGb^je?>4hALt7L|KbAr6S_K| zOf}$&nx71--><ZNac#F5KDbPkpl^c+?vE(+X={rMh-F?HKoK-(@j+ft^ys2}(CVtr zl;W(h=>;kn<{Piq>O_(LYa|XIhBFfC9Im1i@%zX&Za}E(Ma@qwX-^UdMI8RM_4EZJ zCCZTgT{YhKG4BUSpLr&jJ_@*P3b@|xO;~9?27H^FOFle!eFypM&6Iu61RER!zO%XW z9$7jh3Nip3ODjVDerEC%_q;Icf_#Go=-o0NOlgTlsBfzXi7y(SDiGdT)pfV~Y|pT% zO81^U%}UxrWQ=Opg7Re*P560Y?U`eLP=|X71`nyL2Fz554M@%)YSWp5an*6k250|v zb|uE!^f&@M5=&EqxVgCsr+33b)gTNmPafQ33lj^By55xw2sT||LPTN2$Zj754qP0p zRaB~|U-e#nJN1r&?Ba$42tV9(5`-sQprrvICtoF3;s7$b3q)i3%jaHD_bK2da}W(8 zv|@*P1e^T0KNdvaj}p%}1q$OjN(&E?hiAnQac}g$6x!%|IB2wNQFBl=cg8eK)Qb9E zt176+$Vi%xgTb0BD#qP*Vvd~3hW({9DJM&nBJBQ^kIUM++Fo}jq5)8{%;wdm%>LBb zd{%GUtFq)@gtn#08)n`i(76~U9P!+F00<wzJ-OC`DOd-;&C#P4KkS%lSN!YM&*xoQ zK%?Ub`SI_`-+NGC-I>+Tgr_F#wwBd+5raf|>d@YgLl$gE)|Zt5@F+0aRMrZ=M<C!a z3no~FW5Mo7aA=;*pKvgPa2dsvf1$4MknM>7ifneRH*^;+Yj$aYNME+TXk5*~1;K!| zToHOaPR8cu>h2g*(>Sa~nObHMv0{K9oCQamZCS_0&PpnJ)=o4JxZ4$=ruS4%o>p43 zt5fGe9Kdf+V}SVa%<kf;+6hV|+Q~)J-RtG$9j}htw8H4^r&iwASW6w2`x?T)q<wnE z{XoVAZ9$_7ANG#r<z>&bvAlk9DDYZpDU{>xD9iIfH2T=XxqbMnL~^Wl9%DI?Y;l<{ z3&l$tbtU*-NK52b%q7cGQzO~cK4RI#uYVJRgL8E%x-BA{m-3vdXq7Z+!OHCe57yg5 z))@50Zu|(Cr9QWH+ecC4uE6tuI&q6{YH6l38&m1I6eHGY;~|ww-trd#Kn(kQ^h0zR z82*@>#4(d)F~Wf$#*~Q~Z}4`Q!z$|sd8XX~KU&R}hs|9Wi;OJA3WC8W%DM<k)BqXy z8B(q8iBZ6sb_5R|g0TcCN~I(#L?w3+JPrIpdYRpT!OwZ9ZYj^!t`-x`KTr{F7DeEH zk(ifz|GdLjB*^`>^>qj2xx;5r;n~$xHXQM{=@F|AKQo-te2)@PM0pJ_Oo}}GNV3-@ zf8)+pXr;fSXhud?iYE^g;CdyNK@-=)_gs;J@3!-!vKhfaXS1HsWlEQ^mbVYTCY^Zo z3G81xjTbAex9@ZdZjZT=LNsV6l|k-&%>Cq}u<!MwsCH8Q|6R7gvE3g28(|BOP0I^# zo8R4sDA)qm(D4iWG6$+TOb~2HjyJHF5V}qVq6kVJ-8qGHJZLNUoZitB7R9ybZbLr? z`DS=ck02ShH`IqOJHA<=gi$+TBB$Q5kRIgepVm9`)H}>QZW_8T%2cHBYH$)NSyW}= z@`u=;$A|nASIAu|dBeG!ARrK@!!O{6draB(m4uvIBl}b2Vz+Xc>Mh3?eBX#Ws|!6t zXyoU=JE>^f>1K%7WSR9OPF0Ql-y*>y5O5~xg7)Ela6Unwhc<0X-BrRCPDY+nd^c%E z%?rk&GWH2dhAc%ywb2^3cB&%hcO}pgdVwG@><n)o7+6y5oc3+q4h;25sCGb=jKCkJ zts616ahd-~ZOG!=#`f`y**x$bA3tqvQ}6zKC~*E?8LE~98XCHypth`48Y^BkdG_!} zL3-imk|ouIxRO!x1<~ij10nJ^q)@w@dFC3Y(q8RDB`8)KP`2j8!9E_5S6h6bd$nUI zJOp_0d+Z2>!MV%)7#EU(J9%|BGtYqN4y;H=?mNRZW)3lcmd8|<k5YlefXXE|4l{nv z4XcP4ruu5B*5-3c&g}1ukQ&{D>sm?EvG8&aLy)bP=IQlzp(7zi#yhNB#mG#Wo+ZYf zF2$d%Mi*}C;%=wdzqEbM7HPqH8XQ{W%JdU7LneUIvRm4(by>Ix2~PM=z9!}+Gvb4U zZr^-|Z#us@x*JJLcg7&zT!Yoo9ui)tJ~6c3uln*+>uyX|7oox&YmzCGP{O7C*q5Wz ztHL-gB=G^EpWZ}d6DnfO-KM?Imma<S{{QV68pv~S9ab$~A+nhp58ooIfI#yrDfuX$ zb~6+u3?)<?b`mG&>a2!4%`xs$NjTrosN>$kHuK(DJVE9!qb83{cIdkClSu#k$<63~ zj^o?YS%1`HC6xYs`$1K*#OP?Y4RCpk2=>npY>rpKBP3WxM#ggN!4$;Zqm~n~=JD_+ zIXvU*n;u8l>P9=kwY41Q_O<z$Gyhr~Q8F9w^|{|TP*|)GqRW-!AEVC7M17kk!D;fq z``HhARG$mZqsAvur@Sp7Eo0H_;}l__w^v}%#q~A83!kflD<`X-sSZFJ(?>-!-=j%* zuzTGN>@p$UPy=6yoKuv0=v-5$`tMTO3fVtqvmo#TOA*BC$f1?`zhj1Z`0hPEYD_6w zIX~V}>393%)c>e4|6m}Q`hHuAEur`=2FDP{*z<B&OS-rUDeYF|lQ(*lFTpRXvnM;W z=ORCGd0?*onWvy;N18aWfbmmHD;>kceHV`-u>iXw;`wsiqnfGud(P<kq1vk->e}gf zee<)pC{_O?xlmb=0@mjrav?o8P$oHRN08F?LQz>{Aj;4A#Pwdg>-+<eGH4lBl1$0{ zV}1^B9vl?#P()&4YkMY|8`F>Q{}@;hd!#7R*5QXt&!bX`AOqL-Ct>hA`j1u6jIE>; zz@yD$Et7F3_L(GiXdCE(l^R`zYc25L1PZL&GYTmEaMmg(Q4;!OH1yi_MwS|IZs9Ea zv*knBt=Ot3IOF_9F}6NGZ-y*Yk&GFJG+hS3CqrMDZq6KAW#88523sOFwhAYYr7anm zjTLdV&r@FBkfbUe|JUMBDBL?Md-n(bP`NKUBK+?2>pa~^e%5<;vJl%#_laetVWb?^ zn@VYhl#wLjS;E&XmggIH>-=F~zO*R1z_P-!vRP}aZ~p%SH$lk0Mgf@LXJ}u0`x|(G z;IOP~*RJ8+ci&Z!s!JbyfV+3^VtILa@9@*dWiftCVF<vz#)-Lrs)wJq-&Lo?f0AOr zcu)$MVbl`<y@Aq$VzCs%tPJ_n@YDOJo<L2{YEukuer6ic@d<o*^)}MEITY6_inY~$ zn@R%K)$Ycb^B3^kvrps6Pn?C@(Q4(2?MGWJhOOxEkOZt_b+xDp181^X<T5GbIG`w% z#6)ZY6O0ffQkb2c!<-TznpdiYD?$d=*4E1kE~^hJB2EAqI}-M++_$GqS|R#IyXex1 zc4s>}+#Trd_9N04!KvXPApv1km%#{t-{(W8c>Ap_mcg$-n!#761Z%Bn@190KZy#K9 zH1<)HMqC%{TmDW`KtiyN2W;>OhWa@#V{~*>MWp`x=Rf0r{L?>ST?pus7=Er-g^&2! zGB_Fx0r)7QuI4XCMoK)_U;gr!Xl-p(k$_iTdF5E2|CqoHmT#PefKL0idSaJe=EfSP za~X_B$1xI%V_|8hvZ~J3Q#*hHFrWInPvV)!&!Io)6~j{fBuXuY4N5*%wVCzxVU0zB z#bu>8kW5Y?8cQINOk*+@Lo^yyDTB0p&fJ)nmX<9du&JX0TTfnkokM;|Ck@q!0Q34y zYP~s}F0^|*2nKsp^?tt)Q0DR@ksb^T^dThQ3%&ftrpB$}zlQpT<FsL#VA8v%L8nJg z@17|rR_ssNN6vnnu3dTH;r&X`yQkFecfRu-EQqn6o0~&U2x@s<ih+S40QUoX?NECa zx>S`zJw~%oc7AKCt13_U{`>DMWA*D_|5^<XdE$vDaO%{l<9p4cfhSDEKY&tEV3iMq zJ^pK0S<E9D8$)z_6w@<#Rkg34r1E>It4F)nkAdNHc=E!d2#M#})L6gug4-Ut?QiM9 zZYnR9gn+WLo0|@$Hs|i@M!5eJ3JVM3k<F-70SQ1%$Utn;Iyk^6KR>TFZKeu}tQ{z8 zG2E!4LU<CR0{an6vI_Ya+P7v+Sc9EHV(3E%hC}do%jeb8iyr>&_oLnAP?Pm^<vz9g zb<t)W4*faklhc*^Jm}5Surq%jwQm#l!TT8npodS_na01oknhCURC@kgM{mFVHh%u| zpQ}*6H6q)JHf`Yqt{;Q@4?_S9wt*WrHw=!~9UU7}Gt6nQ=EXp91Ln+gilsbYaQ9;P zpN78=R(s%%9gQ|<eQg!<Gt-!y7)Nv>D&D_%-0PM5wKW5QZGVBDKAio;V>mrL1dqF2 zg_ZYpLS;&Xu&c})8^y>u+u`+D%4=#y!9qa{eomzb60tbOMn@5k$5iBngN$Z`B+Lj& z;k<%nRX4D@wRx9U!=Hqr!fHmo@;;txy&mGEM0p%=i81$fdeFsTJKX{F4-Bbxy`G*h zI=ecRR(+?(ql~{L%2T&hxql4Ahs=tGpT>OJKA5*>wLXnLTlGi)=>6+lzxMXE(LYhp z)%`T~JeXqo#lQWVBJnEEuVIY7K?Mu}FxUy%C>ROg!CWDu03-lTmkY1G`YKv{z6X7V z?E7cfpC`i6!mU*wB^zULWfj?U8sno;Ova{E?%y_}+q#r!VA`A=7(9IzPdxoJ!ohAh zT8}s^#r9NrvJGmKag$xa?#J-(X%uC1p3bI`5;BlZrI5>I5si*vbewI5W0*>2g%ISi zu&}6VGjt^2WX&be=T!Y)>l+)@uqG!}7`;9OgJJX!4#@i-Kwm^W{cu<n^Z9*U=nzl8 z&NlY-b=u$``w7$dvyhY(`&8k(gOVT*!~1&ro-W`!@!)!(p?~YGxA4Os{!o1*Bmu?p zVO}R<tr(m%7y@9hCm0d9eEBl|`wxDApZ)Zwc=5#-Rc!#riZUwj0KnahMS$%8XE>s2 z{-36Pb!`RNd<LnxS<Egjqddi4-k#Uk(1gxTG0gpaIMd&&TK;O~{*MaXlGY-hT~{Co zXNLzpeFI|Tmyyp;Bb`nm7EfR*o<c%yW3fq9KfuTViwIX_vsWXH%R{<${XiutI8KsK zE|FZlJ-kk}-nB5F?{KL1)g1^S6b_-MH;kY!fROy&quTbmw!-=>_-kotR<#uOA(BB) z|1wI`_GtVW4Oq4h8vhef$hRM?3Q12S68M2!oA15%p6c-@wnV8640eGb00z}j<{mTr zoE9%SCkBX~Y&;%UMMVtl4i62fxdHbXT(@K%dT>y60<f`$<&^?5*#vSk(<m%0S9_Ss z{WmtXqO&WEa6pVxS0|bq8+L~Ocb4ZL_{7Uo1w7i6ppC;W&e}w<7(ztI!0>4yEYo>p z<a3{r&wF&7se%MjLJp?0Sw#kzCRkJ{jdiu*vu>bL6MsjTUcdex=eeKozE!#3xTP%T zbhWDreOBjp@$d)5@JG-S=|Q9?s7CF2+#WgHa5-C5KEG78e|(0&tht~X*rLaxzQ4hW z0FV$o5MiF9K!^R=-uKQs@2Du<L^P_Z{0$8D3qt@5c89%-k_4zcws;&DFJ2TwlvZBe ztFOI=vuDm&(yGThDs?x|>!%I?=LPKS0I)5<`dSf7^D{`rqhd_6SYF;){ZG`_v#qZk zzCb^^x`J>y+N$RM)w6DFZW(J-7<2veezEn~GBKitHipa{@OJvJ(Z9J>H;`g$W@<{j zy*Q#{W4L?gF2=^kkxXY)mG{Ep66O~c<vp)&sTo!?{&ib=2m3>{fk!H>(P-)Ivq!(J zwN3TrhsD^RIdcv}gM&(X*Vo-GWS|?JogTPdZDq2%M-1<my@##AOr^w*dVcG<tG<BF z|IgUBA1RB;_sVn-RVNwt|Lt#oi|>B-yXwBp&CPAZ-N0Zk7y@8$V62OQNu^Twpa1;N z_|>m|rA7z8`R1E=?6JoX2n6o+%X5cg$bmBf24QsrRNd)U3X7PHrxCk8j_G7xHp%s} zry#6NvPlfCClJEf#~(#xun#VmqpBgNp1_6>poPLb7MEABD!+4(3=JR^>YAI6^Kz<F z29q5H^s<>p4}`-wd+t2uXJ-+QO)BNVsZ<ivGt)>WQy80=z|>UADj<~eV@hFLR6w_Y z?Ggp3F3e+9?l(6#t2W7Io=d1ljf?IV@4n0Hk?%dIs`vXN{Xz!3>N8Z2Z?*>QSi(HV z`0>Ch@MJoqu(*IFWdH$3n*;5xb~WUuuA%A+Qa-xJJ}A#Sf4paPZ^3ljAOHAAeE<93 zSJxq<am8ZMjP^A+6bu0{I5=dpp_s_X$cPdeVM`l5kT>3V124Srf@<lyhoJk&!au$U zNx+UGgiZS#R~A`hmq#L=#oYWN)^t{PTL)hq+Qj4U4*78AbOhm`7cI?=)s5BWhMESL znwk=08%0b=P<>Mqy1M)bhr&v!juYmZn=I*BD%n~2{)4^2ZS8)x_I;zgj>GB1hI>O^ zkKuJc`iF)wKQ|}dU_mJlj*pMYc~N5^D<mMVq6S&He|9#nA~);noKvt-DkiM?`j#jU zbMjQ;b2!`K_jkkR>w=fM`W<eSrs(hQQv`t3`W@{ZDi!2*d&KzaeE!b&a~NnZf5Se1 z8o`D6In`2`n2IBwNMcEhpu^?DsZ*zMN<J6X6x0CgMkpoCwZn>k7XO|2d_SXa4Eg`& zH@{IWeiZiM!qSmB1B1iB5CDV2fg7?_MW+bBPk;JTRpm~P@8y?Y-VzczX3&z*vM>U` z@ISi%no%PHu(VRd%v=G<S@GEI-hY%mSlPjP5`boO``gjq<3^Xe6;0JWM{9(kY{Dt= zwlDtmBL4m2MHFT84TgJh_Ut2g?D5AC3i#mea0!WMQKB_$qhzjIr4-6S{f9~wDA61% z?@lGcPG7fuVjEaoSU{F?#6nIoxg4^&Y23Yi3%76G#>Dve*03U0hqG=#4J@kCvPZ+O zTJ^+>b_g+YiLs~b?%A^p?GGR<B!`1{0&-uV+Yeu-C6r{ny@RJgs(#L8-42^J=~@+n zNi7A++OjJm6`#bdo7Zve+I8F>83TnKd-@{G(8zb`N2d^#8p$XUMy?$aNT!ikOuAD2 zp(g|U99Y~pF)@K3|M<tM*v}Y!gX4f900zeb?VYeV&?%nkg$ox{Kld?%mW2@jZrZK( zZH*29V0mK|`Lz|~H;P!<tiECLj~m5cwK5VQf3@oc!J;}bkc;ANCX!RQdgU_aWMgh= zbK&x(OSt^uWrRZk)zan`BRM!YBpz}^wG_5AH`$@^MitsW4wPyL#ArKR2t``p3x<@3 z%&>4g_9VteMle1$hUu9cl0pt9qfv~Ej$$T1ufpbfE&;uM>J~7U&jCC1q=SKOc;&sY zlAphaf_}K$otBVKll6WYYmlX*!76ZL8|w0MLDg?eiNPNkiz1oIA~!ROM05h9qa&Dz zPRe(%h-M*L#kF;0Gg%dl+662crQs)eWIBLf`H3a~{67Es*T3T1-~P5D0hPqfz~Hbj z1i;|fz%BvK5TL{@L(cSE?oqFLqkYtv>&gvMyvFrBmew*@UR}WYhOYIhRR60}hOf1? zO$=J|9;0F{srXH?7i$}f$~YC~=P^Gow}pAkh@onCSwm@D9Ucq}4T&)wzyQPK?Jjsd zUPX$0U7hMN3{#h+Y!5aXxbkyVTKIDAtQk;eDxW>0Fg~9TXU?7#&wl}#R0=UMoHuXZ z#8fJSyqtHjxMs~>wlxZv$3J!YG){}b_se-Q?cj7d;qi3B>1b8yjauh$P?UT68ynV4 zg=O*X^GXaUC+le%v$G^Fag2|T3IT{Clbyl*!U76&d6n8=WP@E0j&=6JQ$>*-5!Kri z^+yGZJht1nd_z^WHXk%}*q_qeKl|CwaQ*sqmG?IVeg?+{LjVkp6^sDfym=G-{rzeN zJEH-|3|eSz+zjPfjpIAO)Wizb*QT+ylEhlEpjrY;DDC%k>;PzOhoi%XX7S|f8=7jr zGB@6hRdLA*s9Re=-KM1#v$nP&25D9u>IB88H@7-)`_66gqJszqyH)EOe~$F^VR&dz z?hC@}^{Bx&OcO9~-mKc<w$}_CE>&Rt+|l7y2ZeSv#lVuR<T7cT`@|zirn9P8aAn0x zjWBh?HojmutS0QSj)Nn0k5g;EQYx6CeMTyl8P*qqGA~AbI+H<MNXq2o1Y)rSvO=n; zix5vt$vID>u&|^IekC^KJ6+$b6Jpk&Zg;VfD(C}i4b{|;*z0|ilb3RocZ5_5HdPYh z-M(8Ie_l&8`v2=+{sq7N&2J8Rng#}Y!Vmz1V+D=>_rCW%<&Dw<J$LThaXvjaYr441 zEii;zBLzSLu!y?l98kyz7Z3ulzPj^ath8@zLz^cEPxv$(Za*5EtBVRM2#MHSUc`Df zg-tO`b&E^fsdqk1jP3GL0aMW>)q;4HGPvTIyFFe6#PAOf4k98(ImA)6JrQMadqY74 zd|n{|O<VG}#|bs%P{;rW?t~)|HI0xn5hy5R)fO};5?~4PG;WR4J#K8}^;cKLz~zxi zB{4oRj#xaVbPf`nkq{kM0!XRswCZLk$~msCtt;=h_GCd8#MKL_s28t!R|23uj*8>J z?_o`ib>4YC{LJ_{>c{YwpC_*eM#UOzS>(My&;Q1a8~AVk_>UMJ89C@F8W`*gh5#5G zE4b+~1yHbu+i;US;)vFAQ2+n59OvceN393|L&__gSj}%>CAWsPMcJsgbpTq$ixdE= zZ*`)%vm4G(1T8Kn8k%Zv&TIpOc+4C51+3?n<TW<1xoy5m*{LX@7FMm>6K7Vewmf>d zsi}l`=2y_+=~PO9kw`!K`-BMegz^8``?Bsfu4~P&FpvNUaGpt#lt@wYXpNSq#JNj% zShqXfKOlL{bAC(uzGtPgR^L2jb>DO+E7ysfD7GcbmTb$KMRA@75FqBEdVi<tkRS+v zv!>Lxj|v0|Ri_Gd_Wt(V)YypTh6Xe@H=>@cZdEX)d(|?qllxd0oJU~6ZhBq;Bvu5u zS@4-_wMyY`sZdK+=aG96v3ngXE-YYSaS>CZ)sKp{|Ki0Erlx0<$)8#;(<~Y2N0WXo zpF_Svd*s3tN3~<#+^R8uTXyt9q0iJi7Ty^i9#-=$B-Y0G=}&*E++jCv+`yt-=k@E? z(cj;XU;p~os)FXFOP7>&teC9K3y%T{zy0lRmFEBA#f$az{2g*=56J-l4(&Y&vwZyc zvC?2z>zz^K3>w=dQ8j1!)<qeoV5M=D)cz?8vLc-0ksP8+d60i<tFdj2wf}IzQ{zXV zsSdSm4XE~8+ILyXo65hON(!)$<7Wz*3ayKP*9BP$TCY-YFlU`3ytHVg30ARsUM-qh zTG86phW6Grw6!p$umiol2UIbgrlv*}S5PCGJJS_ee5cq#uswlo?MpWW$6nDoe||2f zgjgaGS6K%vRFsIvMBtCB+67}{<EoI<)YLR41q@Bk%nCS&tY#;aoq17~!MY+v3}mDu zK#-ncZrZcQEZCOa(X^{za?9)BGtG2MKG)28VdI@}IK1vVK|2P7l{0_;``@emxeqO2 zzx?Gd)%#OZQzffs5+pEYgaLp5>)-!f75Q<<q5UKW064U#q*${sP39^yZHvN;t%U39 z>vwx-mi;{@<GPF!G8)V6$VzzhZ7)XCn2n?nPmADQUp8NHeHMzT4ti17RE@?aFZ@*o zDh0LY1u&!yH=^!pL|tALI$kjut03)9owh(=QLv<w2{o4HXEF5nfoSGc%0%DX)Qs)} z-8gu#7d;1hRKcCTL;Y&Y6t^0G)oRe+>(LO%B1_Y!`@;(4o0=H6>LrNAJU2IsVbS#2 zVtQh763bDhBqmi1KqcDx^)U({Bf>u^+w4{X<+jw>k3fcl9Wj6Li(lZcfBmZ!iC-oS zkLh}Jfsyp@&9=OTowNU|U;PUIQ#AWh^s}G+3_tnFPw?}f{~Qk=J=$z)4mq@IasYrs z`$B~#;9W+MQ6;D8pF;lwd)rX(`TB#~4SpC=9$8t&VkC^DNdMgWT~-eq@_NzX_n|jf zg8;SSiU2@FjN5}{`A)>+UTq4$fr={aRqEbneWs(}Q&@@0HkCklX&x_zo}sR`R=`OU zx_f#B0Q8`%s~c^t&1h?HQ&ksPoX790MwQ32YR2DRP@v8FmM@<|jsASPedcE8RO6!Q z=_yQ$W>29xK0cue6S13Q)HdximtXnxi?sc6^WOUPFvu=vSpqhf?Ir#H*0W;?ea@Mc zF7MvGtF-+mPo7|Yety#&{NlKP;-JBDaSW{K&!9hoB!XC{gP%kDO%4EXXx~V2*xfTR zKBKHJOtb%aSZ)9x$^>tjuzc_Iwa*E&o?Bc*#;%QDI4@l-&`68GNaWy-XQ9jlh4s`+ z96Kw*C28hVU4h)XBbL9;a`#|^prA0#r$wNqRdqiK8x|4r`TeTmB6IXrvz^vf^z`(g zr<WFj188b&P+10bwIKv+YEUhJKn0!|y7vCwRN^!3xQ1*xt%?d!+oe#aprp_reldb) zPoFBYK26`MVNrNl?UxpTYMIl^-=p2lQ`a-lMTyD<3$C>^6aXSq%A18igdczR-FM2r zPeJ^LKl}mr@84IYulJki@8@vHp_fGt0C4DaCr14<;E$UB5tQlvw-#`gMKVEuGc{0l z&s$XGV->CXkfG#7K4&5pj$v+m5#ulBaIm8t{%Y2)cia0F85czG=krMs&@tq)g}v6X zgIMy?DP!wFL4h_JiC}bO7;bhC4AiLVe9YNDAON7Nt4jqD9_s5ucUPyXGr-(^uU&`V zQzD|jyftFuds@p^e*Jh1k)<UO_;P<m+ozD65n<1E#ls_`7#khOvPv&ZRVX#QR@rdR zlw4hDk&T8}u&Kg<O^b5zcswuQ#3Yz03|OT5ivD|c+H=UEx0xIO;LyI2Hc9V-D2Z7} zpa)jaA1k<3;Oto}FHPaull%C?C!gT<HxDtn7_*9}tn<ek>VKNBBjE*n_wCp4`h%j~ zr*Y~03H0}Lz+J)@VCK@uCl`>7%^{as+0Av8rBVTIg+y&NAp&b^eAJ2^c=`ynqWw2F zx2mAQ9vRHxZ)<BsM<?_7JJHh8f`GqD0RbK9U!F{5-q$telOphyKYwxxlM@qat6CIK zPl%>3?@do55{;>NkCj+l1vzGO*&^X@A+G(7S1{%9S<(FSo18}GVaWaU+`fI=MGgPf zty?O>UmZj4`=o$JM)5o3(A!Q90B~sEh)k8y(;3_Ry8|#lQ$KV5+4Yb0+e_B{SLSI| z=w=>|9^AvHH~tehZhnp@!=tJPfT_P!l%_|alupMnF+PMG1(cT>enw?1bhkAsOTe1Y zvWfuZ(<{g&qw;bsHEV|kfOS-y+E!LW*Xf0ctQBmx9LB=@ylPN1HZqLIjrFPyzKR>@ z?nQ53p9&;wX>L^U1R)vR`ux?(I#38WXyG8Zph-Wx991c9i}Q2JpU-{*W20l3o|!>- zDU5J*S$!T^i7E3w+Ypy3QCq0(7hmUIkap+fmGB4B0vR*1&6W8@DE#HQ^vc{jo;`ck zd*{xbt}nj$LLSi!O*-XM5FB#oEhGm3IJ7TB_RG{R`mPTiI;1KB`u!Uk_iaWD{$tY? z0ssd7m9G0Q!ato#U}E$czWDra_&>k<J-+>Z46&GHre94TE1aKQewRXTB{GNMrxC<b zF;x;bRLB1HXHXaNE3Mf+i>fAQir~+uk}$LT*G7ITLUPq*z-$7U4+ql=C&t|hz*Nh< zZe*9j&MpA}-O5eS(cXnF`TIamx2iM1mc6{b)l$6a6y|59RN&so*o0MmZ<1QSyq5Rq z(`V^j77)r6q&SwE|I5fuD6HShC=ccntjN0wD-WP7iLkGpnVC5>Jw1JXX=y2(x1##y zWyE0h1*n)F=#WEi3poJ5p*<%{BQ{hp)&Kane?v_$s5%5PaBZ81VYL(jfNoSU|EH1( z%uSEs=BIzbjX!^mZ|{#Gk+jmwHWNhrT$iPtpBToyuWqBEu?Ytbbl|Y31NFfI&?0JP zJ|+97Y<2S$lCC#UETvSJKappazdnwI*%>^4@({tA5b7J6(AwIreuo1+UCJsD@cWdD zB$Y^rMjyuH$OuMRjc;-q3*oQ|;Nx*<+Rxa9a4Kv1FPUr<kdxmdo-{BWHZUh*JerXQ zrc6g*S^(zf=i3(+7T%NVYnI=i#ihQH@mR)~j0CLuO%4cf=&dFP064U7#NaBn3TELG zrisxdu+0*)l)lXOXAyytk^l7LQ!5>MF@jsS@8RL&7l_3RH2)IXKkRo3BgJ`~Ofrs{ z$x%Fe@;xReub{K34s|vFu<9F_N<TDHD%{|uQ*ot1v#8F1^|p@Ix6<q~=``Z86^N#b zS=QN~7?*qX3{6c9s11cw4+2$_K(v3F|CbgPv9ugUB)Wp6d{+s5InKJ6gfjQ^rGo$^ z{4E5K&zeX^vX~!FVqqqOl}O%-9w|*Oc^0eX{&dQ9@dsvRNk1$Az%e9aLdK#DBFVS4 z_im+f$R-?1$Xibi0B~sEh+HL`$>QnLr#N=(m?~sbTU)!OTIg77`oofGWaVCz0stbs z*okj+bPNw34`F&{eel*M`hVe()L4luVrFU-lT#Cj_V<d+Z(Q>`&_kRS0h@j`0AL-J z5&p%o1j@R>*19qnnNKZ$W_C*T98fj??YImT=`X^bmIDHZO(XbAod4xhffIn&7)xPg zGK$!20x6mRI?DHT;I+#L$g@ZQz%<hXunJ94_<t?qzKkbW?;3bhfq+r;nuENb88u$4 zb=F)Bsetvg(+ZNbUl$ina)7~GKn?(KXkUpzfGnFzp-<EEkt0X83IMnhV*m&MbmzYf zl+R_5jz<t#oW@EtqMF?7hO+653T}HbGlx?varB7R@7Eat6tJRcx^l9816s0{%P3IQ z`q-l(mD=!~Qq67N3=$cYPr#K}f?J*kSDJEbW4(P6gHc&hnK3Ec$~E%YVsj~4nrI1N zx+zQX-IH-g#xohySQCbC5>c?bu_oZTrE`Qghn5cwuzmJt6!aAQaT!Z8W@WJ6abevn z4G`W`K;)234gmQ3r40(?ew-w4=9M3rg<)6+ogjcgYMX!n&W)N0854c~x@Y?aGP9zw zu0)YpU}|1Uneul+TJ=%Qj3P-q8(zlbY#f8VIrxLt>GOsM8BaCR?kZ&Wu#Wy-QMt^4 za_^V=!AtG?W`F<|8A>5zE+Ca(lx<9|uSI=QJbMBFHsfJE{$Ma@@L9~|a#~38xntc4 z3P@T72nYxUv}-^ML?X@C6$SEIDCD_*m_@??TJ1vf+keyQ!T6ebdp})YgA0iEEdl_# zKql<LYu1R7pDn|>7dl?zO#?;_!2tkoJ89nM!kQ+aO@4))^zv9+_<CrQ-=6pZ84Gad z&K*^_M)jVrDes^ym^0^Evha^4GnYqRwDx==sd^9?W?^jj)@WTcd7jOFvRGP73UJ9H zow2G2QU)^BEGaWdxR`48CJ4oy3GX*U;1`oA5-5$h8AeP-G9OnDaH$7}0D#XQ0RVx3 zj!Q93Q=7*r{P}=tAvqv}eXZ#hAP^Xq!P0=QlWRb)7YcZ4^%U%!{~=h{5VZHBRjtYX ztkHg-Ypf7tQ<(F**y?aj#uO}TfX;o5!m@}wwLd2~Shhdcyu+b4fE)nu_7WF!p;ki; zfJ}|djf-BJ)s^B4YrzxQv%(D*I2UsU>%qW|i5<?^8g+1RP%+*u003=ftgKnE@|$Sn zh9@9Q+_Tz+Z>K~-;B||DsB*#Y<!kNh&LeB25i?fg1|^X)Gdn(qLwidaz~#&=V%aDn zGGh6JdVoqrxDf!b%`%@s4qBwxl&GjT0l!AUNGkwM<tJfvq9h1li~wB&tlLX1IKH3P zw*}%{sqs^@XTdCj6$*X=7sfTv6vFk+Tf#NZ>monULcbj1%h|^uFG$;elb;ay5CA=d z<sQ*v66-Am4!!2&0D!lLv~Q0Ko#<Z+dhJIib7-<ZtF=F~0D!5a85b>uKNm0qpBPO? zRL{ju1{bkE<Lhmk{AhA!UvpMjV@5!0Yip&(H73^lkWo}f$uj6p2n6A-m&@~(tP`~P z+zMX1J#N&5d^m8R0WD1d1bl9L{tS*|jKMfknR(>$iEW?fb)q*@%dbo(+chV1$jHcM z%rzWX;!<^$$_me5;hW@>TrbRH<=SCginB7lg#`%cBA~gP>*r-6L$^II#xGFdQ}9#Z zGp$jtb&hJRf&D_oV6z%ldOvRc1>fg6$x~=WI0Fj|5De*i@f?=LfQ!U&4ZOzW0Dw1} zxH!4Exj4y~Xwu`NWZrx$ETJE;J~OmgP=f*;^rMs~tVR545FiWKq|he-;FgPg9G2;i z%#PrI3tVdkn-XIIZr;3!hK2^Eb<zCFL2axA6VBPkkD@{<mdouybxi=ZEsdzHV^EhH znZ)*aj+PZ}k5{$i?QCm8W33-PuVqALv7u}#j#Ok(j=zFjc6Y&s4(&aeIRO9(W&`A9 zn^%Cq@&T-WwzTlyMoVSwLZc;33tX--9V0+MKn<8R1YU+~fP9<lmusBy3JhALg<?=f zAIJj?L!0%rpx+5;fKcp7VdNxv2>D4Dtm_|8TdStRcd*<8ydP91$~Mk)=+%+~0NzZ} zi;{w$NS|guE<$bgBO{>Mk_(hf%Uv)kF@(YtAdalPrLd<TkU>ySWbqT>55rpEMEWso z!A%ejhw+=={6?jtu_bJ8Z?DP<Xm4*{4GJt^#-_YZ$WTDTV4v5u<FD?-@6`nT=;&xd zS4SO2$9z~xtO@6e9f?c03cOw)Lcw~pHMJlV2*6`!0GL@3F0l;K^9f|5Y2?$6V)NS2 zst-W^kLTt0u|R-&a?9wr8UU1d?lvRco|;3u1}@9EYY!F_qBcwm8ZB6RE%>z7&vU<H zpZgN5bx$S0yXg^j>LOczkF+I0yA-H=5R9C$=k<k*FJave@(zM|2L!xk<N$y-kGSAy z-lwKdv`v#AJLM4o(AP&Mprd*VeSDjl`!s2QpaTX?`&hIf$O1RGxas#Ck->Ip+7HM` zVFH0oO`xBB_L-^;K+XThKmIYUUcIVZ0(28FKbxspJZ~Tnh}YKE&inoT1!2^@-V()t z4Al(h@L)f#UOt2Q#RbgFKSVBPR_g4#o=nTKX^8gU($*!Q<QN9~x=|loi&G!~$gY@3 z%;b;`i-wsje>jI;4Kc5QR)BnpfuVdY?`<(zqg?Z)O^9oS!kBB1K%DE40$JA);JVN; z0=umop>y{S6rAS*EDMD8@xSWS6!MEEH5bF+dett8o3Lss&^qEE=huiF0PyAze=DtZ zaM4rqIBvhDIg(~c9oR$KiP_I6+G_I3J36|UW=C2ai1rWJb07$y+3&fq(P@GC5myC^ z08;`vNYuax2I}kU6%(fL4+ewO$jt8U?&z^&$0m*+KRyu(g}P<mh7EHQ3196CptZdR zXWzMuvFSyOPcLC=YDtv?W>mk93oI^@W4};=gx)G28d|$>;><Z*x^xMB-R%h0_|{G) z`xtU-U4{=9pW9WJLx=W-4C{ZF-DcQWZ3DG|bem&cENSN_T+ON>5YXv$T#p3j1jr9$ zjKYeR*YPvk)r2+ZXEZ+r{}osPi9K?m1pK9o9&d78t35IbwyWQ;@5{P-Q|fr@5jOoP zTp&d7I)#_ug!kohSQZin3cfCx6My&Q0D#w@bcAo6Vfow6nabp6k_k{F=OU{tjrPXm zr{|)X5r;4!(MC)a5H)C6i=2T`1OicW3uRQ99l)W90Dy4;G|`ISkAM8}$FmI$4O3pP zcO?)AnAWt`&&%!cArNZC(UX@jyBNXz!V*5ebstmH^N7b28-%|m)7JcH_OESd#gUWm z;NAB=#I<)Xqob_>Ro=DbVF*z1)c6r-YD9Ig2JR})tB?J5XdSsk@Oyn#sH%|>@POrg zN?Cy9cQ<v_LyiL4jjx<UfKH&ybxObdDOlM8G=mc)(@Lg;<7g4s%EHuXiG8qy{&l%1 zYW}??_pY$kb(1FT{;;bduEjwVc7_yi#H<M3r>yP)VFRYJ=UcnkI)kE9J|_U6($HkT zM;<{-KzxhW@6bMy0{~uc(m{T`!ply2;kqWT&*x3^P}(r*bK6<i``!|fe!onjy$Z&l z8^&GHBmS0!@oiSc2&h29EfdqR7%L#;ef;=wu&S!6;o!l8e%X2$Gf=L8kjv#pb88PS zU-<$2{#w!K|1UoK;!8Yx_M$kwYaJPGFB)49;MnO)_@{sUSA2N&JP!A?!drA6m)8rw z2><56el&Eq!9Ow#grnQJG>7(yY#awKJ0SLSqP@QpO`Q!Q+)9@#rVx|oESpFq@-o;S z*kjiK*el|(sP)oHN0a?|SoH%~S&$Y1#t2XdZdO@P$NA9Y|GtcWgyrjR-qvJ9FuO(2 zGw{~$^Qm&&w77Aw8Y1g*Xb_-6DeOKHszFpViiL#*EJq@U$6~ALlH0JFP{z<A@}WI% zS`i5X=n{x+=Q<qPdvXB4>q|PXcOV4!rDnr>p$k=~WrcP|kgJ_S$`cmeky!_#H_w6B zT0kj{cmu*OKGwSLnEH$!pJ8~K;SF?{RbD3KWnp%WBhx*H%$+Fm^o3HQZzVm-kn>jy zL#8>kYjJULP(Z-h8#iv86h_q)2n1Z^(g*o>Rh19z9S1;OJ~O)@V+NCx6IfYEuDdSl ztCrO8c>QSW=*5|H7jfmC(>T=Ifq=hCU)$Pu<edJRAlkaSaImi%j~+k4=)??id9(Nz zaOkDc+MRc~s}O2v#NhFx7#!?Fds`!1<pV&deJ{#0F)t$_Lr3<PH>Yo%^hvdAfK~w> zUl-+}%j|(Ym{r3l`BJH_M4%Lw4CwtBmH<6bagGJgIM)dKJp^iMRMriJJ!54W8ynFk zYpA261I^9Nsty7HfaVFxHNs|6qV+RSH@vijvGH+CPfufhejZB#&iNieI-7mbg0kM7 zRve<E-tft1?O2OR^4r(Idq7Ko6BqD`$N>PaC-HY_7WjX(8pcOGsCw@NYEGO*u!ZY% z(oEwUGbSoU9E(O4nbn0~x=kyYfydSWXkzE<VgYKk#I?+#MEQKZ0qGaliI?FwTxb_w zcSd;JNh46-WO_nzn7wxpYyKXwh8M`YGRQwPt*Gd71wvf*HPf0vMog{gY$}yHD~#vl z-~RTuK4Dxz5&kY}FAN@Z*-dPUufxZ9fYx>l4)mg<y-744k1(q8xX9(HLY)W>mMHG+ zYC(O-S4M~%a_@X-kz*e{Jb)*U9^=XL5kz81WOMn|1Zfk-)&dV5+BI3fsrAG913?jL zT{w686bAcx&{AJp7L3U=laVzrDeK`Ix7$shbfY}y3|7;@d=ySPV`ev`U1rS2p)l{0 zH~LM>J;2x<f@7x3F`!nv1~gC(+4K2G#t&iD9oX0syXe8@y5KseV5hL}?Civ$Lx<4S z)g{kvs}lO{ZEY&^hQNSpsgNJ&^-g7gbvvTbC?+N*R7X#i@}8NQ!RXi+MuvwmA;2KK zysY|tkY}jxmUan{7#lzkpzDwDLs|fsNkl85;|_QQ<N$!zkGMFf`JWeD{-Z8bU%!Uh zjvt~vcvW}^<C;cAj`qlUlF#v-tf83_%C$!HDou{eKo&cZe}gaupWm-cg7ow0ebs^& z#Lpr<GqTWGwQnW1q5wfYSK5v5mh&G#H7*LT`WNAwXGDHC!Rv}4=kGxHodAr61ai$Y zNdHF)Ce5GJc#02ZX$V#t5w#tfO=&VE!|N2rQady><hgzOw$lDtN|;+Ru9B3`!c4Eg zOw0l4W%;{uTX!>;Mj{>&t!7S{IJ23Mssvc_dIc;5Ya4Ou^f^pUOk#Ls4BtK;K{TE$ z+n(2<{Uyu%?-JqGfn!IG<MPQ<=x%C)uR^a05t6AuATZ+h`~M`u@+%Qs1fC48qmTVG z)@tNe@9}iq_OZFXX$fGK0E1`0f)yh$3@ccWL~FrEGX5(pvw!K%Mg>ISPm_L|2>3(& z{VK)w)X9@Ldi1E(iL<T_)uQbe`~J(t$1oVTN$w@TOFlqAK>jc?GJ;2s9^t$1zQdCz zPcSTCU{U~rvIgWUhWzOGA+B%UTUuiN1j{|*R1bUw<N$!zi>P@}1HKf5`$xT~e*b;c zc7JTv``<yx-DX?<M0_J4%86S9Ta9dQBZ_%hOBol7;Z>o&woajYU1W!XpNsflU!Pjg z{y;zlwV?n2kO%-4mzFRp3!EsQk@_s&LoHw_yrg={r&DRgbpvwtUXj}$2q^i`tP}28 zixzn09hXrHk8u^XelO4?!~Gee#yC=;81nS}F%XK2U3dFqfKVT-lpzL95d`$w_aPvR z$iun;)IuIUe2CG}Q3&(aUEDU@Kr@p<F0z1?ks-uq=8%bJ%4q+VzMjjb5Dm{^W@1FH zFN}`XM)-YpDs_=<-w;9L_Ee*@_b|?1zKX?27-{oUJR1^CC=%b$VCQYDw)d(@Yp8nb zsrI3%qXX|;y@C%vdLJhS51~F3tYrQtB3uz*JTBVscu!Bym;g$*Xt%LMA~6ihEUmL^ zXo;dlfM|2KDR$cNq}>8KV~4<(nm&af18C_RCjw<|KQ;dWJJNqWDqZK&GSqsY;O`f~ zf9~8l96fdn{kG;$OMo`@Z?W*vI-*5EmrmAAlz3bMi)YWC;rs8u$K8AP6fl?<o<X3n zI>&<c(O9#H)X8UD=hv}Ta-7%iWCpxsasa^VLzFtLvdT}05dDWf_};sO(9!E?^qxb| z=oH~^+WKX!tf6DVLm0B-VnCCT!+m!KiCRBu+nO<OXaIdZ2hi5is)Qv?e%-QQyG47Z z30?X8XhJVyB1G_Pg-d_m*w`p$XXg-Ej$m$n4#T4(csleP3-X>3O`ugo_*FBAABgb3 zA~Wg~Ku<%s=-+CE9~Ay37Zmcq=ob;payrH^Qn?iJUz%27A)*;ZOVh7O!B5SLS`Pt1 z5JjZtMH3{00n2u|V`O)91uK*Dh%ZD1u;gq(UR(yj79=^*Y*v;Lo}Wg1B_j8Li3?@= z6!3g5H$siA7(9Lk*<2bc@fh54FCRS}MKqSMVgl@}11+Q+Ah0_s4mdMy!NT;<ruKH6 zym%4sfAj&aT)BXb_GWl0cba5TsaXL4!vc!uPMtax6K$5kfKeGNSi=B4YUaAWhAyf_ zA*@U4?$$M+D+>}_&^5pyxjtB>h9BGK;Cf(Dody(xkAnL_O`d|8K7F|sT#$QlnQ5#7 z_FGz7ltrMFyN?z>?e61NyZf}ekUXNwwib}IHIc{TpdvxH*};Pc)!_NR`ub};eDFYl zbb<gCd|SE_7lRH6@Gr>cbPdu4z*q?K1*gR3OC$#XydK2WK?cJ}|9=u;|Bvq?)cMb7 z@O~uxp+?p}1#3+Gt5%OlNH<QxFF#-oZuxd~&_sN&2kjS6<Na&ba9lKj4gmo4Th|B( z@QH>%B(F|ZMj(*^kZI6o7>}PpB9T-Y|BL{D`%fR?i?6@J!@J+W^K1f#r(*c$WHrvp z96CkR=j{1q1O|B2{5-<V{4#s5M@032A&?`Ed|(P`uK)rvS_T4Lwg;IlgQUt<DI~*U zTml&jx8*3GGi1(g#A03~WV`CUC@X{Mw-la}i^0sMc!0{k6b~gJptYkLHNk)|NMVXT zKXTa&9ta3XB;^j6aD@LJQ!xlITpl#Gi_p7p5&z}C|2KSi=^_Sud*IppelN*y@?6%! zqa#O-EXX!b&2?g8A~!obOFuk?5J3Qo`OsH?6_y|-5MccaYVUhl1VUH#W8DC{2k3^- zsed)tB(9WZdRq40efM2_@X<%OC;*^SgfZ88rFBlB&**+y`M703AK$0Yr;^ZW#|toc zuoMv}P`S{;pVolGgM;|=(@*iAfBd8B{>fujAYC+w>CChO&^^ey2@93J<j~%d0{~t< zaUoC(xLhNezi84w{2}UF|G{XeddCbIH1(%Ns3v8kR&4+**q;+1kP~&;h4);d0n{}k zd;AjW-hU4R7fzvpDL%ex(N5i~HP3b6TsbOa7=C|1fd~5kgSA1_H8-NCw-4i?P8hi_ z(Y*KwgQ*lk!ZcDM_>(d-3V*AwFu_2M?f?Q6;}SxK0E7<VbeC@;5)u%w97CSk6n&ez zWO3PNk@KPnlIF)%3q~2{Mq6S`<}_~?B3PGfU51r10ZdhlbD2e<{}t|$2q1q=J&vEg zB**ulF4TY<fB77bpS{4;+=2iB%cZG{sg%lEaHu>LoBAy>RKccTT?4xN`f>i^1zfv! z74M1A>k@(G(Sf0*56MT9L3R}GcVsP4%U|Z2C@Ofv{V0%ht~$5$)6+%8_!OG!X}O|i zt}Oz)p~B)@1Q&J+ilOWHucrcFNt6HCGiUJr`|sn*)vL<y-zor}!oSp7=QYxuM=RQk z7ccPm@nhw`r)5n80J;)r;-{5uU|>MS5zyREAW-F9OFk$p9>nhuFkHEO8TImA@}58c z`Ohj&fZ$?v-Wy8^^SyTYjPX9~F+%O1OL$wU!w&77902e#sC;T37XgL;5qa@ZE!@}o z;Tw1lbyergkgHwzOIH3%2~SF6O_ik`Aa4%}*@MC}+D!6}5UO3ZsH?7p%O8Z{+q^7z zInt&-&fQmCg&KDiS`!8i`&xu8i4ZocMTO6*@~dpTnkitroN3CQFXI)uWR@3U*5r^s zFpo@7z)U)Uv?p&d(M`+hk;%~P$hZcY9!mxQ+V?muns_)F!&Gz`%jwjn`9&sl8F{&% zE(Y>#Ef|^c03L5On%lZ?>Wmw~KrL#54QT!9F1~;G2xF5|Sc%1v6p)n5txvBkbPwpi z|K6!oUiqpOg^}$Hzzo%)rM(je4j#stbLVmK!daX>eH;h7+EvQiCd5a9!u)~UZw91N z;3Vyu0LsEtK>Q<a4_XDZYk)m42n1*uAb6#_ir`gS1$O&GdThbJkqYh)1w4f`ef>Z9 z!4K4+u%<O&b=?+G)=ukV(B3!Se1m)U?kNDk?wpM6VVsScfP9~ty$U2ebO=L3L&~Z^ zAV5vu<KCD-q+J7aGjdxK46eS<b1{ynf;*r_{-#flbq<&jz?5N{4xH4$mp~2x*l((w zm(Tm(DJ$Y#;T}J#hv&$Eh_~~iH+M31R`^NG7XCbn&YiKk^_WVXsTRKD&zlH_BXB(w z9wh?OY!IGwT-H=;omy-=6)>wzIg^8DdI_O#h7kI8SeEGma)~VBdAF!aE~RCwcm(;^ zYA<N2)ti)mIdg#v=w*3u7~Y3SwN4lr%$gawuB{1MYBOYRG)b2AYuejnDyjMbj80D= zyt2Hmdr-N%kfjxaRnO=fEjZTZcg>1vYHaNit+WZ92YPW(w6NQ^ZsFGLI~W=s!Svh$ zR#Y`Yv!qsA3<mUjZ!1+QAhYo^!`3kUsFnNMKX??U&Ys74(KIifJA=NiHZ;}-wscxp z+9kDqR^_9qSv9cIzHn`&DKS5Ok6?i{{n_f4<!lK87|G7q6@mc<3u<dXp+>(iL@U_g z!-sMG`gQ#9<BwIOe<k8IQTS8XQ#0rI>Z`9*rcXI{8Z8759z0M$fm%HGBj{kf0R?-h zd=~;Wu2BXZG7iHdK!ve83=|{?s6Yf!=U@RW-fNalb~*^Y1abhtt0ig>r(`XCB#LK; z7e*B|dJ1)y5~6t}B*~HrRb)$;844ieWF+!Aq+-i39)1f%=ipjefcN?}crTxXtE*+_ ztcWMhWRZI~jO@*?k^SRM<iGnK=4=>dhFZTBnCL3O4me-S62QQ~yr}suf%+a%`8_J8 z!M)nTtupC41{C^ad>q~i+8#BT@NyV)3rmQ{H_t3m8lV82Xd;98WCpS9T2B9Vh|I3B zr2`kPTtk-tf#WAm<6F^w9z1-6XQD;TFD@YxT|pw5RE1Uw&tH7Ke-~7gF|nRlp1Dfp z_P4aQq5D7|1`Z#^x$|e`z8=M)gFUFP4I$v$a+V%7d1jyJbUU`QRvIRO<w+5s)Ql<U zR!!C$NxKHLmP%no*8rt2P1wv_(J6j~KwwXaRxr+&!vBL0K0se@>59OGL<<MAXxN17 zlTSWTS~&~(RH~3kqFaCgee~;7=+gzqb8`(=dQSP-;E^Lpu{MAJtpE7k@9<RaFTp?= z(iIPxeK8EHHUhU!vF&{(2LQYp(k(O@SY&AuhH?eC4by<JDo{(aNG&?KR~~i)4_es5 z%OU||aHT}#GBQwDR@J+rq%_HbC9~WHOEPJ;j>M50pGD@=J4oO744K<s!dzGs;jc6J zT+mQN&kO5bnd>y~HI`3*pt<^TD@4CPO_SUz4WtYM%I2&<!FVDi*u`RS6@@Cb|6~@6 zOKA+xWN;*!12I$eHVwKgMO^I<poP5*YU|L{+=|YwE)iUZ@%Zr*43CUrg2hzk<`7+p zAr_CTd8RYzbw;AiORQ?w>DK4=(y4-QFL!-zy9;C>P@_g&T_f7tyK!h>K;6T`hX*mx z-;0ip7Sz{;Dq3_3PY28IPmPkopG_x*VF_|Y6lNDLT)^|^&sDLT3IKq_2a1*h?Hb^i zu#ZVg0M|3q2X$3J3bn02N#%Z2S|=EtFV8*w{Fkp>QD%Pz;01#l5@rg%W?7x6=@a1G zym?dk<r(<5nebN^EBjD$rv^{p!B_yg2Izt-TZaSIdSfiWQ2_z8u&{z)T7WsvouS2H zV?2P)P3)1+2m)wf;k_k-cU%GcNDcsaHKg<X-?2wGITej@)c9%g&)Ft*irPXunAT2> zg1@+DUbzfptt1l2J$+<}-c$}QVXE%418{XT!Km88&#leWi8OL!GsxWh2C4t|7i8|; zLvChVokw;1R64y;Cb`Zcx7y24TUr64$cXBc5$>7a)~cojfWo1a>3`$&trVyHhN5Ie zL3jo8B><S8PvPls8mErsaHPis<DJ|)P~w;&;I9dxTSjYJyJ$kkaOUi|2$*MhJ~V_O z7EPI)!qoIM=4NNHw7iTAtt@u4m68ot3TAB>+KsU7sl8mPq~X)5W4KiF9xFK2jhbKx zjZIA=WI9zP$F9yE^!Fddkz<4C>pOt<wifuRJt73R9DvVd!+<hY`lH$YkFaX-&lc`P zt@iBMvnrSU{{8#P<h_-vgC(5C?c*_bpH=;s&2q-xGFXrSt^@&v0exG4s0#i50+0w+ z&dFTgyLJs{&z-9n>2H1AR6?A<hSzrM)-5HBw<7!tiN${ikiP!<Yn(ZAM#bUSExRk8 zpZjsXvokYT5D>y*K`bL&As#@OlrbQmF$I!V09slS+nTIH+ad=5ynNCre?+-VfurVN zt15z)g=ftQ1ZWk}$$Wo`Tir3FOj3{f*QH|Vf+`|i#o&((BYiUqBb`BY;v;yjoPxWr zZEG`RPxYtcO7l<t?>`~?=sxnYfDL85uTf%s%??p|M*Or|{tejfj7hns`y%=u%T@9k zvs+aCb(FC-|8FIe!Oem_3Z86saBH%;bQa0Q80Mab5uQvSb(G~=j9tffdt}}XEiI_2 ztwUFD4^9cwo|~OhQP(eC2pAAhFg!Y{3J@(vqgW1y5s9o=In*U9s+ko9|I2kBRGv#Y zQhDYgxPqZt(O%^@4FwUZ4WXm6TQu5!96xqMX_+m}Ez0~~R~tmY?-OC?QGj6^M5i;& z^`FT2i;UZ_a?MNTnd>sxJ0O0Ef{F!%7%WH^gRW>vL8gNRnbx=C^ueG2m1D<`<LbNb z;>5|5D(G>u-<yJ#WqNhQ|Jc~rT9KY@60--GF3Dps|DP6t%}8bM2xuo*nV6hZse$+I z-d)W&C_$<OIxGOi+6WBVbO69Uk^=x<KIxj+H2t&iO#|%M^N5JWA$i`vlvgaPa~M@B z)z70uX!-ghYt{g_eRyHc$rN%E6G(l23kXzM;+9ObDFnk;rr!yR*u+HmOw1wu*RPQN z^B2f|cOPa%_*;hhFpphj>-`n9R5jb2nhj$VrsZ0`65;<TmR0|Pu(AhijXWNYDS|)O z($ZqeFywEyQI_+`*>Wiu**MHxwz8UBa0zBUgM4}!*`*0&ql@yIEtYoM6UK52xT+Wo zMSnH}+3J;c+uL^#hx!lUgfMh!MGK-8(eyk$IfZfg%@!6Gm5U&qP6@+KA*Eae8Rg!v z3bvF!-!A&v?=cxlSi9Xc>sO)L=R<XsRfmFAC_{C1O5iI&FIr+lL!G?tKxbDsdb&H6 zSvwH$t5j5K{M!)xd3(@~PYsflCvU*g&KX=*wgs=YzU+Xs@s5L50bSIF)`1~der<yM zK3G72x&69}=aw#v_m2_ySFT(UfOJe%_S_5zlXyK0{-f4Uvp)sz4zE$g)-YRuDTD+A zJkD0YINcT<?d>X1ktv5$@{BVcA(`AD*Y*9NE0lbZbrE<E=?d5pGIMBiasa@~Cu#zW z++o2F0s&=9BNvH^0DEC1MNo#}HM62;2heAT&^A5Fl%B1qK<KCdx6;&AG`lSR?2G5X zU#nD|dISUTp6-XMtr13*9Z07Hp>0-<3uqXhLFV&sk^a-?$lSRLbAASvF3%=8)dlA& zH3JJ8xKz+zUgn#VE6L+7cugz#ixI)FyiOE~f6i;8;NlzHDeZQ<llArWX<>kF5g0xZ zA^~Hqtmyi$WRu7zmylVR7p*?EWoBov5Kx}+6QVGt=G1XuYAZ*{8(lcGkGCu{SM}CK z82bDi0W^rvYwu{sz`$W)rV$krK;}9njFD+qbP+5qhp{4zmcd#}i;Ifs#u9NPgb`;m zx=9n=9d_?_CBSla%3*%rTm*$Z<yBc(_LjG|F1x2ZYft=t_TDQtlJq+JKOLEKCWm1- zd1q&5c2}FVtCiNWys{M>K4;)B39w-pFl@jVhJ9h!fNy+n7>4f*U)Zqy$+GlGR$A?@ zq|G_a&Q2s}m~&{do1N-^es9&=Y?9p!GYma5bp|!vWH-C3tE=AUIq5k_Qdg+wUay{F zLw$qPEBT>@qprSAnp;|>_i(=%RMXnrBsDeFCc0BoU8CN9*|xx~fC0du3IL2Z4*37b zyFasQ2Vm=cSnxJ399joS4-gHYV*t+<4FLpj@>2r^BrR9_{pqVedgO>a{@7#2`=%0q zJI47>0U%KTh``N)zxiNxI-oZN5F)yr@5y%X^!Fc;hd%X?eDvXYb1u^W5JB(0ts{1L z&{{rEo{wX6LLalmfCNDOj(|Ndp8)Kyai-%1;1Li3SR=DV{(oB6kk_CB!K~5t|6;gN z+SU6m%VfQV!2GuP^{c%7Ib?$GVj>5Nk{-CC*OGeO2_@3;&r0N>dnDA`w)W5T^)mw_ zl6vV~iGS-y#`DjPPkErvYlYXn$HtH5c-07Hp7%edx9`c4d{@`Q*Yx(XI!H-zwsR%( zCKOr?=>js?(9p2duGZ4h(xZf+ObVU1<U5z=WO?Gc%nx0X#IkxR+st(u0b?g78Rv#> z6Owhnkt*3FVw?0f7JN4>vcqeMs6cg1SSqWkr9}Zdol48e6DQ@qv*%<U@Yh9ladBRz zC#Ph5bWFx4CuC}R+MB)>Hw$oDHx~GW{=BrjBulYH^LL4rq^T<?Jm|&oio=TSS^l`_ z)wV^qP0p2xB_%^>x4eR4unGmFY9l%oRZ>ZTrcs~N-!(MWOV^=8(%I1|%}p&*rCxnC zV9!|Eh9(7uDk+PGb7bOXbn5dA&>a*v&;OFRMSryI9h9^zClU1r4EKQup!09%T@V$( z%Y_JVq7_UwaV&_MQ0Y%Do&0+-WxhgY>tS{)GGuECZiYxSE73cB`n1t5AR6JeAQp7& zxt53mkUGIp;<))OfqP^=0oXqSO#m<0Ef;@_6qq(f@Of6x^?~|wx!T?-OC7pajK?H2 zG9iH(qL_s9@yNMO^1Iga&GE_y%glXeMcKc4m&uo3M#`Reo~|zUOR&9B0%Z|5U2ttw zlFz@cp8v~|djDN<W^_Hxuo&a0*uLLF?`3-cfd7OkQj3P766olVMdb~jWTxbU$tAh5 zl$Au<7XIY^^L`H4_%(n^?si%izsu@5ynpD>p^Nw2b5F3lyZaISxluvFDK@=qX(1-# zBa?D{a9q9Rr0MJ5-0Wx4g)OTd&Wd^_shFfPn<^AI-aZa_8waS%+csqlYu?#J1w#6L zxNARcZzfc(z}no}Y8FT1y(yr_78lg>nwR;7c_jt0oX$F48KK#w*pe(P%;};!C1c|g zN+1>_o=C1E0IOw>L<)HAWHRN=K5)|&Au}$z+<;EV%!<h7z~9NbI`L)YZaZduW25N{ zCpTSNS1VNzg0iUb{-ad$>(Au&n>;z$D#H1Uq*jtZCkH73cOu;_)h)2|i{cjIk$b1d zAK<4&5AeOYg!k@PerkYd0Nn%B2#^*aDnQ>m1AqD?fA&S*IcwWrsr=V#z-VAF&2PJA z_4_%_q0Q$bY-x7PupPv;(<qHQrLfhIfKM)5kio$LLv#y}6HW+l335a|01?xvTiSWw zikeRV_Rl!h6#w;kTV;VM9p?1UMnaP9YLV>yrzLduNeNyYm*6`e>GC!y4sBzG3%jkx zg@KtTPy`n?kpQ4MyQC!G+7(?f-EeK7N*Ck@Pe`D;LbB6yZrJ~YS0(xSTar<aGvFAB zA&+QCf%mZHzQ1F9`#Al25^QLY;De_n+ghRC=%~crT#%I;`q)Bp^`#2y_>k`#5O*<u zyQ{0~{YM{t^!g)@JkqEHpjUyTXb#uNoW|lZGPxjwV{@{UOq))C;+F5>iV2|;USC#V zT*+=xKj20u0GU_37b2oV^*6&@Sj=riVB6?s7i$(+HfwHJAD~Z~S^xk)rQ`rFjBtO7 z2tYhxQVBCNlcuI%c6MHtmJ>Mw;GSly1c28goEu-(Exv5%q8R|A;7+)fygj*F$MYVI z7pVu6{Ue1zSii9eV6QXJuToFmL;#SW4Fo)(kLEfzY{A+t6)6(d!F9yLwz+n~{Al;% zEh6><K`TBmV*hQ$+o(-|3`}}IA2L$7tJ9~}93YM(B#Xg5hx_}@d9f4VwcRr&y`n@7 z0EaZ*OhmvA9isS;+no{s{+@j}dbD49dV8et!v=HC<~jn_w*|UU00;m?;QEet*tcz& zPXPAM%(OpoLtA~to@9n>=mpk$;<%iC=1FOL@);?=FsyVzz5XG+omR(Y1^lrdez9}_ zBp@Jm)(CPvPIlhZ1O!5mfQa!x1GSZsxjrH*-+e)nZ@sPHKdRtQi{Gj&d2#R$d5;md zV9iypv#ws8v&SXy%b%9|{uVj1I3hiXDVdI`cfGK<+413puIfVYq5{Q_6?`tKw=ng) zzx%t{W5<q_H#av2z3_kG#Jnyda|)6pN_1{4DNtsz8`KFlGoqUDlq1V2A{E)q;*GWi zj0*FY#a+y4`6B$x;28SA?ew@?HaF}ZH5>i$b{E!b2LS5Hm4qxTE_y?pQh6WUla30w z1)7iwq6m-xim`G8K*7R{jm^`Nw;^N`0SE;>fu0J_6D-%~hF!JEHTxVWcz>770x4m2 zfFG})HopPy_Ziu?y2JrkAiza1rUw;JBW+QXs1PZkP_nDL+eC$SdMxuN1yXMT5kQRR zX1X2d`=_ms*V;-5sF*=O+S=O9X!4e}Rv8)|D%O(7i$kOlRzhX*!yUhwZ`(4T0PK%( zLW8KB%z(w(e!Ml~J@q1KZIgRXoRD*;PfKlcql8bFNj9C4D3Y=-y{aI7O+ET~37EFO za<45fCkd4Q!XlnlpIgXRqfbki+<xlSw<W9IBpm_H^sJ=c{a9}ojprXQQSHc<)&8#M zA9p=}1^;k+r-bfTNBG&#h&*&snmX#`zQqRl=+r$jHF!g2N5^uqt3}N8RF_4gA3pHl zgY%#H%x9AK-g|GQE;!A)7&14#Xo%fty{1-VDZXSz^k$tMrVObeOa&yd5>O(rX#ju^ z&H=ZT+(a#6-YuX+o|iT-(mW(=Ap$kt^LHGF-7c7hj8F`ocbSO{Y|PUJa{p6>!E;!A zAr6)tkd6p@gQM(w<-RK~YQtkh0ub&AZDYXHE*NZ=<I9vj!svwd@$!-LC7ccso0QV? z`Zt<;Ox@vMfdK0O=k#hCFz=)T`~lp1&zvze0ChDrJAOMG0U&}v{QzP>^zxH`--$sa z81_T>o*_X*C2ocQaNaaEHOk@s!*b;45hE~!#y~oicfqX|`0{}d>pco6pBMN0_idNW zCjk3nRyvQ~)^<I~3wnp9=Up%SE@j!r`}*ZbcdvR|<wnehz(K@uy*C!{>_r9aR9peu z7NTz!3E;7?@#>)iPAn<ut2ZPQi<xMEqMl?YX!Xl_;J;a`pKUsH9bq&FoNz{hHT4oX zd#^-3^OyvmdO$DTcB!hZl%A@noIZL?E_Hn*S1(>N7yKqdApAb9i(lfiPd}Y{?6Joj zU3emTTpDx(Op7S1IVNA7O0LKXUafk-*{oCW<qLfpLzDEsR7$B#QgjQrLP8tg$Qp%z zgeV)mKL>zp<@bQNIbPbBhy*Y~mhYW#CIlwpZH1@3-K5!S{7{i$Ft>@hV=mkfKN~qC zl=g<aTl(z*e5%6%e^LOY3;cyoJ}zd?1*;gyxwPSl05`h&<o>(Vd(Te`ZU61v$WD8E zyOHpv{SNRqbt9XP>dhIT&EKCobxIz5@Iey+AgyyV#%qx>LQ$}<x6cp>Iuz1tA`<4h z<#^!PaQ#4}Z@nkiw}N(CuNJqFahzeao!;%LC%CTYhYP*?&>`v3i=>5II^I}Fy|d0{ ziPqP83Tx`QA?G<e#`rt0;IGot4lGm{nDqeN?GA7<DakCW*FG>Ou9&c!PH-#!i&y(w z$)VM-|AHA*9IUF9$njGWedbAt{=(xDy0_mvjlHP|MWkOZ_C8NMBsUpst=R>T3;u8< z66t#S>8A(IoH?_ipC7P<FjYx`qDl7<I;Qn4qYGPdNw?*c30d#N+^KL`Sxz{@2!Tw& z4yD|_vKo`lu~o`|znvZj3803d#eN=ftG;Og<NJp=)XQo=c%kF4pNc*QVNQ|z06EBn zw+Gl0RUx;J=Ke+RG2B;xe?<y2)PuFHJ!8%t&J9lkq%gP<a&K;FF;o5^0?{25|E)JW zJcz<i1_D`m-*sb<HyGpru)puV`^?+{bO?w_6q`7>mD#R_W)vTl)KDBcJvCKK>4$|z z*UA9L%EzfaGXKEtwYdudlo@XkKqyM(?HEo*Z?@`fFu!t_P-|sW!sm`jS(?7}j3j^d zvSe=zi4$M+5CdnziU$`?2iPLppz+~X+XiLR_Ck@>R(H4BUyPt{N<u9i61n%Zl>gG_ zB>dz95>n4U->)?ugnA7<y}ibhKuBbhG(ewjXY{d;V~dM3@pyb%Jt0?A&|N5t^h_)G z>oGw*Cq`~Nm0dG%XH)ZZ2-u%QJTBu?i*kKDCJQT$AeB&7IB3tl@O|33@Z_GY7m7PW zo)>^3GGIMcfDF=r*9UQ+V6aVAQwdy)kb-I{LUish!*ho)vHrVrqg>D@jlwY-m(`&= zc>gxPZzBVx2maeLE;QDIYVUqQ#t`(h|0Ch>uB2Hgz&m;Jq&)lVv&IX5<&{@VM1a12 z>Ot&OK;FyF-Qap<En@J{Bab{{e%@>l*LKZz6I4}JZb2qO`W;8IcRn9JIP(d>{urQ7 zH7g5#!T1^M*oMbo>#+X(3qL@+6v}e#%D~T^%*Cx!ufHvsD_6xqS<B?T^V{|c%gMT> zU}0G;-Lff!&2s+k-#RAjuLL0MNT{JrqW7PZ=u?kK<g*V;sK3(`73Sv$ApndAC3MIF zf+Q)$XGMyC@Ql0kbM+`msLG_%v+H)SaQ@$c4`n5hOiNt7_?4_jb+)KH&wq#r!b*He zCdVe_#^AWjFZ4@Yc~}WR!MEhPsg%`O@cFBv8y;~tJXXj6UModkM1P0?PzwS9AR=I= zs@Tvl>4FwnowgM6-p|$$+%BtOPRvQ%V`0Ty0D3!}4}vu3Jq8irI9>K0oAG{UYb*|` zpMPuHSw7rW?^ehbH6i(R7<OFo&Fx+wS5xr70}td1`lty&o|nFSq5`}Jj}fV(<*>iM z-+2EIJ@k;t{ohO)qLA6h0tJej6AB1G)F%LYXg&ehdt(vDvtw~DN&u{47S*~G?T{ZU zWc2Nay4xgJs}4jUWUBdBV#?sh2F)ZuF`a}}CLLgh@)o*$0y%8Sw_;&`OD2%;)%OTy zB~()@(R=QbvR`;gqMv(2f~Wh;u%W=ZzHSyDE_4VDg+weOR3hgHz}h&wJJ28yXw)t0 zt$4-64%Y6cJ|me4h~j@v?{z231}$%?#G=fO4a?ZIL5a<tk#xPT(`5xiuhwHPm$jjj zLT0t%=e(c!JHpuz!u$|0uSL}}=>pqH5b=J``9s9Ps>iM07kgVUg|IH#;#OI04kp|2 zuJhFp3;hjWFrgv<oD>Pb4~P@qryu?kaXtMh@3}ngR>-eLP)gfw4v_N+-KMVnZVLI> z!cLR~3B4aaeAo>5L3t91ULtcmPNaY;{qF8=^BhP3WMQ-Ee>*iJCZ(^(dS?hgVKq?p z+A*HS?HlbWdGiUt-kY6ujkjovehQk=N>^rFxfL@GEAZFpa~{6eU4zhUdG2}14BrqZ z0nRwNO8(8g`t1niU|Hk!JI0|+NvOG9qNmSD`ImoDB2S!^(6KIE&O${I*R~@y(nIWp z{m4fa+aYhUT2<-ULTcBvq3JORM}rcIFllaEYJ=-Or+&ta5~<jjBxkQlDn2LKj4j?T z`bV4ZS7C#n<X5y?5ODi7U0?+Ko4q&ZcaQ~g#<rL+|GKqZ36?D6152(#G@VWdJlk$a z*?RE#1Z?$$SPjLmc%R8WS7bE}Lh&9UeJg|mA%F}J&W8j*4&r(5mGNHlP96d4R^)Cb z11xUj46l8w@z*;w8)?L&$ICx{{J5DzK`H=)pcAnp3c&MNk9H&MpKlbZLMTkjDY_wg zJ{DH(w5NmPhXD4-d;+kyW*e{x`LU2w%vSVjvSKj7twPu8WjhglUTeLC&mL3nH6zYS zLXvMrC3AH^mstgC#}4bYUjD6+Xiv~Ar2E%I*k3*W&paWKPoI-ue}@qhazAO|ede>E z3}-|{EbGs={IREzh@*>;<Eq33^F!@0n!<13=)R>DUlKFAUc^iRV37j8^?PPtAon^> zdO<R&N%g#9Mm~9yKeUAtH&e}T72?*v=AyUZ8C(5j+i^h3fSLo+1Np4PDoj>+&$GE@ zESpNDDi;?Q8`R5d$z(ERdTc{{50SiHe`{_bWRfcJw0fRPb#--93Ig-GSX<!<EBs&; z8)M%7TF|zuxE+dP)e-@Gz&|CcDS&0U9p}B@IuP5?TT$@GtTTY8Y&tu3fdJSw#VP}q zdtNw^IXflLhUWoh?(fBfNlR{!lMZ|5VQ~VG3ittly)&Nx?7dkJtwIWiaNQ^6skUt= z=4CF-G6l&)EfOV6oz9pVfut_Y$o@KU{W-&W8{FW&ZPy&@m<2Lscu=smRwDPEma?ZG zm*_K(O6X*d1S%DKHj#6+3kVl`9RvVHvf>rZ0bTe4o@yDAzdRA}Cp2DUoT_^J=@m)E zW+Xm6Br6Luw=ndC$N{5@7R@{Wr#Lp{rvPrMzrWy{yTF>CE)ZGG8B<6|%Ai)(5&-)+ zzb8!q35aqGVzF3yVPT<lWMt&nPk;K;Pw65bsjsgO;r-!#vB2ktmyMd@;v(CM5{K#T z?(X;c`ueVRbaYUR8P@NEmP{*zH1BOTyl<lbMv_5XfS-}o4vEqh=-JG67X-HzHL^1o zOay?4Sh2R*o81X-t$_sWW_W))mQ#yV@DF<qPu`y8-M4`z-}cIU0<b@3^L|CIUfZ*q zyWqF`%E+v?)Jycq2h?XQmw<w7>iJhBGoU13mZ)oTtG6y<EI6#$X$gdb66|c3@Yz#R z_KS~8<dJ(NbX*<Mis-gqmd{nA-bQt0<)(Q*&pUARmIv{I35QcP5BL@Iw3G3;%#Mx7 z&?lE<dTd;7Vd$A54=Hr^oh>^FIH(n}c2d$_m@SawizHue3jy=<{gwn&dixYsPu_Xs zjW<&2`5(S<<Hq8PFTQwG$v};IcM<ALYynn2S;`{-2_*od?d|QaJo)64@8~vi<j9eb zelPhEfVj6=FFv2Q+H^oh)}{u0b8Y(<qn(&{2bq_(+%nSX+uoZ`0QTPO0&P*aXxk4U zS>XZXc3XekbU;`F&2{RXA2)@8&cd=8?VDbR=@OifK(1D8r{)!Lm(@t9yHkPxoP-tp zgH-$D`FrDEw_{;1?}yy1$!W?4chDB6ISl;a&GkMzZij+YN`YesXwg+LHZ~=f2ghY% zdQ-XKEiI+cwj9sOeB3e7lmgKcdzS-B*qzA4UbpR8&@E>699!^igAjnX-g+zh_S<hq zM@B{_uUxs3TwY$za$YGR$mL$w7nmUuqkn5s09UVG9cyW68M^o0dx!Mrpgz|t&G0Hh zR{{R^FVtFp9`7A6*?I?izo6McPo!ihn036I)^6-oHk-|j3g&(C=L6Wt0Bexlc5#k_ z`~KckLEbm_*$P|0?*Q0a^9jJ-TaNH<_9Q@&&^RC&-T?tHMhL#ljRb^yJ0#uFF6rtj zw>U79HcfvwcNuwW6|(~>D<s(5D8Z(Bb6<AYn;i61>O!`!xkv=StAlX7sef))z^asP z0Sy305{aY&|AJhfSd`h=trd@_Qdx;DWn^aFZ7KBTGZlJgfY$bNA9UZoB?yKj(9$(H zI4JMF`>wqC=9`JBsi_qO|BPMeQG+XXet8iA6aLZTpSX1C(z3qRGE%a4vbSc&5#Qp( zylq;3WF)`Hb&a8w0kMSyF!p(;T`iaeRtxfW<26y>qZ@}?OER$hp;Xid(2WFHG~s%^ zcI|d6(*?8M7;8RXO82Kg$}W(1bNiFa5;mUz?7eNfQrv<h3sK-E#6O(HxMW7AB|AE) z_m{*Shi3y1H?xGe1<OuCnfmyQWIh>`?1>%;R8>fzd55!ZY_wpDsKJ_4NGN10ri&L$ zp@opj$ii}3W)m4%PTksCkxXV}aX|^iL|m4Z^mFUl6fXQ#<cHmNw@msL?b@|#@<0Fc zKl0H>AIaF*SV$N7G6jP*EA|$3685-9&!0aZ{@Krd7I^mAXYc4mIO64`_rWXyC_32^ z1N2wig3Oz)X|ZjDq;-(swi|u_wEgM1VSa`LSWnz~{{TN-0;G$$rEnBQL4MCIDWsb< zNC@D+s6=(e8*N?eBZv?Fdul!b*n6`fzfDhMlY3UyZ&kU>MZaB^ok|<vPrv?=Bwu_} zQg6N`*~uvhWCNbO@6G7P*r;;Uef=9llKkmQ`YBQpoqJHipSni^Ep?{-Zae0Vug#ck zvjvSsh|f=35_;uSB<rFS3>0-g5i<_zY8q0o4l3ulMK6_(ic~_JrA2XQRdfm@0bKJA zjv)Y6g7H8r+BtS_yzz#7|NGxJ1b|S#o=-s!{CC{4$lpy&OaxJl`=@{UC;8HszGO7z z?<C_qgDAcB+H0mKejm*Cwh^i-dLg(?HGy3J{&u4;b{*k!O-)T1phxUybad4GjMqOq zJ8Pmq7W{d>y(aB@a@|pkYg+;Vem2Cs&<QXT{XAk|$-s8^5wAb4>)etOfNe}BymP}& zC15@Q*n7+GaV}~AV^Z0^35zN4Y?t*r34QM5oD2TXy)4O>-jwXXb<+h9aQJ$Qs*P@G zW`r<*pG}IRi$?mwA|vz2E12TL@B_z1>T8Su&{mf5LXYONZIbuX-#dCNvbs<?x;Wv9 zZmNK1yqpZALCHlnU*352@g13dHuM0p>6m^8E8^saDQz%*3Gh>SPdEgoWqaE9)$ru( z;tu%#<R?Fo_uqftdUZAhbu$bw00~1d=D+^yzf4s+p<g6r@04@^-Z80?4?p}+h7~CH zF!yf_&mZvTT-kI@uq0rsV{OlIt}j3xuqOqCzz??&L5Kjr&-%g!@bi32%GbQFmj*C3 zNlFCl2GG+o2>2sbhENb2KSKmKKejU`0D_OBV+H}GH=W~jv*)gF+ccj5?7i7?`us}i z4JWiM%8BcOYe90;7xgas?976s-@hy?|L=K8z4E$bu3qz&6)OZ}hxgo^1#B81lM-iP zUQ!=?;OY)2t_13;C3L)7A<!LFT4<rN`)P8TdcoVgUxEC8PEk%5q>PvUjOyQ41za74 zf}sYcBc@YK0o27LliX0%zEg9YloAPjZ%4fob=0!Oj~&+z`G2|;TD|-G+ShI+V&8o8 zP5J3he<~L)Trgk;Ay~Jt?lhFTMj(Nj0>;Sl9Riqt^;dtjXFcNkX|{m$x&kCaasbbr z*0$V)QHVj){gP}_*qN^axY>DZALAB5AI^c7Uw&CW(Cd_l#>B)#F4w;eZ+mqoJ;KiS zZH>qPHA+MVPzOX+@Z7m`W=bFu!;pjg)WG`lBflnr*G?1<|L2F@_WTREo6RQx`(s>r zwq>fQ7J$9jw*_44?PiCkCH2||vht&sB>DOqk{unRbjy1STQhg74k>>R_Tud7wU}0~ zVep0|fBGs-`x5=!!xFy#gan#vHuavk*yq#(iRprpDy#x%-^}Jm#rq&uJgIO5Af1v_ zOc%JRaYHatTM(zMER{*i!b(DJEG^4yGA&7`Xoa6WD9Agvdiyym`$z!r`d@wZRpXt% z{`%|2!!z^MH}|S;+VCj9_r33#^YgcU>$l8^*xT8dOYy>sFUqU0ykd^!K6w9_6-i<a zf+YbPgfX~Y0CYecZyPD?LNy8isEyKa4sbq@(!k>f_)QU^S8ac*1|hMp$9uAWL>n$$ zx@3q4(*hY^%-oM+#@~{DfN;&u%@tDw#aIihmc;EP7Ihn$PXPAbKy=P>I~b-)7n-63 zU^^G86JL?+lzQW@d?3jeUNd3;%#9JfT#{bSzs&R8-M25cTdr+q(W90i?Di7inanSV zbNQMCj8Gqwc(M|H@PtTRwV740-dH&BKmaJb$@C_kh(~}N&-<~(XvOo_p5k9bpIIJ_ zNO@VAX*1gC1U2h%g~}@=Qc)>E^>iGBa*Bh36$8TMv5afqj0F_0{F~qWrkU(U;on{X zzcswUk3as{c+Gfv5CX!!c!A`KZ#Nqn9yX~GM&sstx_fL8fLT4^P)MBDlb5x@UNpIr z4WOl1kK;|sg)n>md=R@<0H%ERFDjAYJmB*H{+oE$w`4YD0B}PBIBpODqE6iBI%jeq z^9DFK*8eTnKT`-fcW?-D1YqNJhMXyLA&`<T-9b>dx%mWOZ_S2Ytp++Cq8;k8!2lo@ z@%*Bk4KJ9^xH<oKE=uydFG}*&w<N6#fTXhq`~$WgEwH(ONKWN1hpn5554l;3fTw-q zWD}BA?;@p(jk@#t>6Ca>mK$Y2X|9*Rx(Rw2ROxiFV6oaz__MYhFdyh`uX#!~DWVJ@ zY08{|wsz_4>XKzWJ}EsGt0C&`ML-<WO^}jERgH9Z_sF4+PN}P^mhjd@!uG@Oi<e@( zFu?y?-};t(=R4ooQ?Gx$vB(o%{+ECG7gG=hDE;}L|GC_M|NSOUd^_2^dZ439r11We zoRj+(0bm^%lvRmjTSb?<763+o6>pwn%UE7Z0Bn>HB1Vq?rI%hZ=K*Aazu7NiAC|qe z9;pV-4erw=K(Qz_1o>$I2!M@hK)N<LZ@J!)nI6zL`AFPj<l7#YPXPAbIGOEOQ<U7$ zbKfxPkBbRL&4mP;ru~LK+zl@_GAXH7KQKA}<g0H;W_TQ>UPVnSNN02Yg@DiEt2<WR z$q{Qt1LK5j)-7OP526rt=W`@iBz^UY(adN6%YNwz2|sXB0__cJJ{PS%3wp6nD*@PK z6tH+ZmJEeLD@{#JX<bMXx`5a)X+b0pMk3PC-X*6WdqTciRw?5XlcvTX9LjHh+}em5 z5SfTpR!MV5mz;UvtQ>A`l(OQOVD<3P?Pq)~-|wC)-VxR%-~ZqL{onHZ^UtrHthjsT z6uF->yiPnhygY#aH-Gat<;!3G@^0_Po*Fv)2yg9kErShhGYD$hyWh0oNnAHd^a!yJ zLsInGVM3pg3imo?SSQ|l?>%|pg%?a1-qbK0fLZd)Ie~saTU(on2(f<U%M9}z)0N;A zCFTndt$#^zWv02VAWFU-@E(~@0QTNEnE^2_cBY~&uX)s4d;lOD9^+!Bz^1jO#pnT; zi$0zdXIj1Pmp_o?^Diq2Q1Bla)mKaBl>P$w1%CyuD<`KH;}|bJP+slM*~;ke6NKC| zvN|SsGvExngN6v3$Kv7)47wi$rC8Dd51%&E3P}gxvCdA<7*A_l7qcx0z`TP0n0gK) zH8nK}1(u{o0E!mZ1%e@|s;!gWBS)o7z4zrMx2M@n0jw_Uo2~J#+NvX&Y(~P7s8rR| znnkRpx>7>L|BywAMQT9Yg$gpTrv!j=<DGZjG2l<Qmo&gm3cGe->kC&m7@i*+$N6VJ z`&q66{D~)?C_2izRE%?wocRauzi&Kfb3X2;+^*wrKC>2#>3xV}r*P4&JJ<MbZHRwB zw-d*X89?Qjv(Kc|u3x{tl{dXF=6LHDgyrJJi^kK3z*qvnXMwD8+y`}^`COZHI`IGz zQyeC001obh-QngFfW0@%_&J$JWIX{e&u|wXA^@;`LV5R`J}pP}f-j3k#Yv_lJ25Mn zcP~luhp$NT<=55oz9vpKXvY4!1YmP-*U7EvNeLhwTwN={&NicRlU<HWc6h>_BACsH zjT97vzCdoi5rDrW&O%I5y3Z1#TR^YfstO68>Jw?MGlC`~W216i7uqph99R@KDRP|D z#ce<dz%>PwxB?0h02YD;ar1!IoyhGP<fyE?OrmAYQeWSoi;7KsY!CeN4!=1@rUeQ? zrmaV?vOg@|1L7{`d)5MI#ayWHr@#M)Km4J|5APB9WBJ9Ho01y#4G?0V*hg}|r}f+| zWfH)3hF${I@*kf+ze-5=j|AAc4n&VQcaDj8f*tmp^K$%vDk1X=dVM``|NVxTLbhzz z5TAwT-24En-8I`OV)aa{8M$ut`p@g<pzDI?<ko?;*O^WI0sJ^ki{j6c*faA9z+Rhs zl5@c`;SEo5sn}DwV5pKGpe<=~LKYKoSBraeMl!E`B=K)PFR8cRHljR|38}AcMd&sI zf1ATj>N9xjlmzNq6`+qw^s|o`Rlm&0gd~6bvSh9gNOoaS+<Any{l3uaI(e_H1jGr7 zlZs1PnZIQ8+D&C8_^Y3jz}aIGuMEkR;Tv-K#-NN(O>X6-jOe0pMHe%)=M#EA<{h)^ z;!XrCDnDo{6d)jGmv3Pq-@e{Dc}W&==GsG0_6$8(Ol{a7pe1L$hv1JndE2&(a5Vdf zeeG*slP`Ypi+i+dw{9Fe_SaU*-%Pvct?q)j<Pqf|!e{5iU5nSWy4ukC;J|<h^&`hj zx`lQ-qAi5kNeeLDaW=o8?tqMaf&iiofG$8ZZ|W!eM`VD{L6l&V^OpsJ>xtsO8{U1t z3t*4TCjk3noWP(jmA~V9Wph&3tamYC@d@>ihek)_qO$%|>gCrqcS-oo3zB)^bxFPP zx@5*D#aT&vIsbKG{|)B8yko#0yh=(?FVOHk#})h^)$KtER98s`>0kwJ=Oy)lKe?<< z{jx^_C@S2X1n{_n^Fm?LvfCn<b>0xCzD^R$2^njzk_&p_UmqKhSbSL@^T_<#k8Z(c zUcqigZAlMJMi&&=KMUkL;t~Lc0&S=?3*^lV32c1r-8S}<5H8W2554_c*zGsrTp$ue zI*9G9x85>~Cp98_4F1@T4<N*jurH|za=+~3=Rf~>lM^mAvqCr9?Yh|m^QLU&a@@28 z=Ck>nv5$Z!VSbJ+;7=bup>>q_D7GUSWYZcb03L*KJZV?_)Tcfrk3II7DG;@h3frdm z)|+pd+xgA+k#!Q_zhG_y0V1Zp9Pl2QPXPAEY$2e%;3vc#aN}BD*w1(;6XSC6{CT-l z-zLXfXQle*?}@znuJO>FG=N{`wfk-6`3G`ge+Rq@Wh78pCE?=={*OMW;Qx?>&Kx#_ zeF7a#rn|sNDoIGJh;vOH6D1i=HXv?fGUyS4^=3ouA(M(QVaWMqB@z1fb#F_2ZeGT_ ztL4V~AIaqCxY0H*;%#w!U?|foD=V|Qpe1#|b96z8_w@9PC=qy57wsN#Nx&glRXEyj zv*Ag?w&!(wL)`ClV_N4HjKv%;pCUiJYJi_bKDIsS)ZMb1A_2(G{`ki~HlKks0D>`8 zg;Uc~3c^8zp7H+4L6eR;K;uGS9T*Td!ez;=8wJSg2%y%2<4TYJ(W6I=CIDcIw@r(n z&A)Se>Bk3f_baNwdqPI|o*#PXA$jVlr;IQV<b;TTJtt^SM6il9AQ7#+7sx*zY>;Up zBbW3st~0*{a1YHV0Q+N{*p>i%q8kb-M+!X=k7Qmwsq3%3C0B-GvRK_G<<~|fFr<H) z=3*&#tMH40e<1HMz<=2gfM8XfMEZ_O*)M%gBA<I$LiZn&Kt-9E^cQTZlj!4T-M<V) z#aT*8W@1zvUBumhxJv>Gr{XLL@ahqqj09Iw;=KE@tPBpyLR~<X7X~FYH(^Ld5o1N5 z=XXF!#Dsb=>3{f#e{ghBbH4udug4TX-qFQ`1+re;4vIQC7y@9!lW*zvf^M(K9tf2X zBK^^iekA|#AOB$%PMhOBfKc^K8O4e}_`wg11TA2NM@XySc4T7r+VG_R_kaJ_Z1kcZ zu#w}wqTBnr^@@95Z&1ACd#A_`xnf%W0NbuZhs^OLA^-rBDkR#%dBXGdD;>c5;_W~F z_~Y^`zw#^c@WT%q%>p|u5U_ve-FM}smtQvLGGu0x^O)<4W5OC~!~eeRp&k4cdG{C~ zLDe{Hf5`iJL*HFguZ>o{cKgQ`q*sA69EnM0F(uh$u8m5s7k}&aHpjI2CCnCVY?jFB zd!+1hpO(mHAC%CE?i~1=4uf#WRPBe)9=Cri$(LT2^p%0UbU<{=bby$2fIFBcwH%l7 z)UtHXrse+hvdro3FFPTb(?>Jw9l=0=iXc2{F8opT8Zx>#I{+c~z2o+-xSl_6#zYz- z0rXGX-p5_B{7>iYrk&$JI)X)su>VhVdsEyRfL(RT>HDUw3w1w~>Hz;;2vhHP5YVld zEm}N({=5MvylsGjVM51_9ow(nC}`{#-4moz0HXsoP?}T{=h8jmYJ{{GdZHchLl+3S z|JJrPIeFrQiLS5_3BcQi1n@KYc0S`?bp`<Nq<W4YKW@VQ&ph*toH=vG6e(JwM-+=R z7F{9~TXO6(*@7uRYm>STT-4k5#7&DFXo%)+FrNVIpV=@sQ2;_*oa{8rm)nb>ED)4N zCoK18E9K#(u$)>-=<lW_t-nj>hR<!bl5Y(A2P>;2a_WRcpL|53zxbGhjvtahL-iW5 zo<LAvF&dU&XS0N1?zGSWIt<yld`TR_&gQzc=>Tja5eS&~4+s?s!Ax2rx^*Se@~Gl= zLMn92$az_o`9KCibo*BTD6AjB57HxZ2mu0oEYJ!j2m|t*>$2LK2JjL^VX>qzuu>#9 z_Ar>+otrbOkd!~P1@Py4gQUDBZcPF|?}|W)o!Z8NjhrhBCbxE2%k5|Y54mfMkTl<= zH`&pIu@B0uzWo;MsQYD{XGD-bGMnRc=mBC)a8q1)sX@GEyn0#!IX4=V1OT+h^jHG; zgxv4D?>?i@XhZUVFXt7<Ke>YeW1AW83CW<yk77Sm|A_Dq{)d?G-Zo-!5vgS*vxNRh z1LV?I8^J$o#6;ZdpJPG(AJU)R*Y?c2(0l^0e`cHT33cP?;z^zr$tClpTJh_s0_C&P zET7h&j_5=5<`aldnsUEDkzBle0~fn&*gsHFDdFyZ<M~Iw@VJCOb=<W51&XNKG1V{F z(J0Zn2h6MiL;|wY^OBt%6K7>L9pJ1Z0jrnus=i=SPpxv@n)J~}%wJXLUxj5!@%xJ6 z=KN~Z9Dp6yMFDUH*jMr|`n<d`#X(oR<Hs!?6YeCn0rXL$$!{Y9H#<cPSp++-l@0`Q zw0LNE{&*%IdmH<*Yv_U3|K0C?*HrkkV6%7vP<M(^X-^TO6}uuGfE`3lfK}Tpp>zu8 z62M0kfT$L!07$@U)F!VUfOCWM#q`)Kp^8MKrVtQq0MacK2oi#aWKlF|#~ed4*W})B z!gvqBpRNPmlYBqkKT#dt*NPOeUDNl3$o{|Ye8&)h#aL{!m$pUHtO4(N$K%eq07}?= z0<ix^2`m8is<;<Cx$OXGRj&k~Ut#lJ#j#FxYH9QX%2zw{w_3DP2KY_Rzp=@9{^h^$ zq#O2E&mZvLvO*qmP*En~v&Y<)K0J??UNhDGk_(wy)xg5WJGdkuU}#I3KKHPGp2v01 zuIaul>Z36e4={B<%wWxD{hI+RFUw9`5;sK1V$tSpE#gk(BTQn|jCO)Bwg?H5#!9*9 zy~l*N&3XH`EW6y7%wkS>7ca@oN;p74m%TJ9z`y<NZyOLsIgmoO{WgZx{MxVmnmNvR zrlbQ7*f{4PoF9lwWFfS)1=bXLGRMve>ippQ-!~(~8LmYnfRH?`cMt&z@d(EQ)TCnQ zBti7ZP6xEnC0=iReTnUoz}vSTKi)k<e(?H9H!uhal0gkZWuBTM=^oyTp-~V3_H$Xu z>=uM;&inkVi8x1Ge}3=(KA2Ac_TON(^p3wR?u8C;HM<@4L21;lq*Vd7+Emty38!cC zCJ3)bG$;3e+HLhC>|b3gk$X=`^r=TB^7%(4bnK84g4%73IyLElpi+;HCJCQAAqGpG zjHE(ANngGq4wciUl`lUXkoWhpnjA=b@c;-wgMOwyB{x0#(|P?l>?Rqw&;fIbpa}6V z<^8!?e2fml+Dc(75@Mx7`8(18ESLxd*_r^$P<ApB(Z0T&-Uta;kkzSeMV0Yx#_-4x z(V;ksob5rYx$U*_`IsZX=cYxByfFZ^p9WwNt_B1FOT1)iO%7N{hcBIT84&Cfx7!7l zz1s4cmkuDD572VnV1(9VPdp(<jvO)I&#?up>B8vh>M}%&f=AK^Y>)uH3!*W67x}3s zynL=X(lr1(DFwiv*8%)_Eg}F&m6Lkl7y|CJFHcQQnl1!@|AptDH}{$NS48l~8leF^ z{-1lFpSAJ8b2E2~`2=A9jg<z*OA3HoGI?x5e!z1eY)b9iP`_J!X2a~O)B85g@q;47 zO*);nzHmPxKaWfF3r|S+{-Y+eztcJA$oK{iDHW-!G4j3!MdueKJ*n%|O58*wgPsCm zfx<a23P35MdKd=qgHolpwR*2YLXLjU<cc_W)?D<gWYe<l!e>#kgOON73J?M7t&=(k z%G&(@&BT}U#c#5*$q=I5Fmlnf`4RfZ8@-dk-<mCC<NJ(y;p_c0z!5O}^<V#Wb3PFX z01!(+Ne_~FSr5$1dJFSrYN$;Qu9da)^b5wv#^iMcaMDH)f~TH*(hLrQ<Zx^W%LCFx z0*HL@9HIaa9#R6dmhye%x0mAi1ODXr0e&{>3jlmOk&wr2l|TDoMi=XA)926mOa}`c zAiVA-;O|~*?!-SLdC!Ym8?|Y!z_;Bsp8y<;QC!A}Psoc|@_l+W)aeowwJxUPW!yJ+ zUjwG(4h#&C^RI7^(D7pu{pDYf=+mE)@X2oVBf>W?j6-)ojS`B7PMhR-mac&pUlK8+ zhxrI$MeMLw6R>tK^P2;$R8i8<6eCOID6xSA*@8M-;J4;Qey9rx3(TMW*`FEDBY&{S zI<wNXySa+*d6L-9M!(Z?{+k)zC7|*<zw<lt+0TCVK=#4rvN@khp*1njAi;p)kHn2& zK>+HdNWRT<TP!TdRl@9^R=}03SLKn1A2!!Zb5oNUcmx>$xNRt(5I*Odl@aD|^9caQ z1@d4E3fTaC3;b3@iO2!uiPlPLJdjtWK7ptfq+pA%KMNNTw%5f4f6{<^s;KGPMk}ea z|1L64esakamc6AId0eURxrCE#n3Z&3TK#6_@KUMJ88rofZXH0r5AT?t@vU`Jpbj>6 zNbt-_2|V$Tgz57?cF45$8SuYJ0zf*ziRf#$H@N8l!h^ij>*}yy9+31>QdgnC8p4vV zAsaSR3S0s}``@4vl_3fMoz!$%ob&n++OeOA8xhG*LYkW!x{y%u3_xzvL%XdO4;EBf zryv6T{rx6ai-&elQ{4*Ku2kvaX#@NKJ_TcVrQAmx=pc;!0r+WQqkkQ5mC!h8fde+8 zS%koqW#`ga_luk2isYV^R}{#(LnH|>rXB!7$>1$=^rQrcb^!W-InfU`1cV^g{4ME( z{PE-V*gzWi&H($M7d^C72#Fe?`e+B20s4qlk!G-}glqP7qro<a+Cg@HCax1eTJONa zFn62z1mNI|lbs5r_Z7Cf^>S{DNv3jGR?07{pWLk1d$&3OWd`OQZ(A*Gcek`&oQ{NO z^*eD&LZ5w7g1`8v1n$v=wIW)y+J7fz!tQ0d5cIT4u(nE^KuFR~P}1{D;v{ZJAe%BN z3pWz5T9LpzM@^C-Xb8-8{Y>x3LiR#nDLv(+u4VB49eG*b08NB~<;k{XtHi3dcg^s! zo_z92lar=Wn?XMa=s*MxI3lp)Spdb1^9R5uZ~TpKe8W_Z128s!e2_+19DoDRNW+k` zzST<kTQrV0jsfYxpq}(x=G3+z8fMajxjfjq7D28Rhz!8Y<UquLPAUl?#d6}r3F++U zkSdA<71S-bThHFUWPX~>R`YZ1B|LJ$dr;6vq~X%Vi>3yFRznK?tiJymqFy-cPd*QZ zi}Uk+-AH*5`uFqx2Vgz{I9MZ&P65n|daZS+mmIz*%O`%U4spbr^Ve$bIi?ga;jPES z10x1*Q<5l;N}SfcC+?H#C(lUr>0SwxM|NKiKO7RLwo(?)9G1x&12TW%L#Y_QDov?? zu22!ZdV^;F(z>63KRpaCdErWr%kzPG`GL%&E(DfG=OpuneqOx)0oi0Y(w%O2RxH3Q z#CUABfQv<#nt%f|n^L*uqDR2yfd?Ltzx~_4H9$me*;bh!w6Sk^$$#(%e~>F?!;?K= zv$H1XiosLnKz%{nmf?b(0oF2}?mhrbB!JNT+wZ(1r%s+U(UwL%_IUpk2zKkw&0gQW z3F(XENH*UOKn~cOam4D`Q*VH-1JNm>CA9Y0Xcc4?@ZSbWw_QAldi_w`RL79`f<Fgl zJ^?sb<ARviD~B-nbLuGvCM6YmT^70{0VzxC1@*XI^F#ya5C|G@4S3aVSsBsw`EoEJ zR}@?`i#Me0#wXHSC(_;ArVDMoR91L{SZ;v}SnpzPeojWm$K}$sLAiGQyv!_(NM|-C z4=T)`R6oDQs{_b*dVzp{On(~GYx_qst7tzT|1hvTuHgT3_2<>|Hw&DtuD>fS9|&!T z_6uM5f+@Dbt0Mh@hefD$pUuiS+;m-q4J9)bkb=8&=gt|jQ%X5^TMGa<vY%GFo*Xuj zrvo&OKgDnZx;-Z@34jdTuNNf6fvcgDe4?+{YSz160c3!AP62vyVnXV@8UWiFKt+F7 zXQyc$BpQ%i*9J(6fRxCn0zYAXJp4H&0P#dZW|b5WY2X+Y1pY$KhvNY9g!$j~J`<sT z^fmlpKL==~b2Z+*M$D0+7q99{8(fxb^ok^&(rc=HMVxYK0M1F3bV*eIcM||~`!DFa z{IMkE<xEoEimgcE!kf~bnwAqo*W~`=r=-8H&mG7Sar1e0vpKzjSDaT}%tdV%5w_V` z*9-XY!UcK%;wN$yVUO_v=}9k|E`>^^C&%?R>WLMxmrJ^T2>$#$Fz@_G=29QZlG2CN zd-}dV7PkeGT<2X2{_BnJgztwc?$f7Fn^5$(zV$655JZudO@-{U?YIj9@Bm=gAT+=A zTfb#A;`4jOOUdkUr*EEHjy353Ko4*F0L^s{+zuHC0AD`9e?+g-rZptMT41$g*i07H zbBGP#=5t!YgGwM#fcCaFlNN}C!y6(1tOJ~L6O)s<h{CcrWT=pK!0P+2Gxtf57dn0r z`uU!?VSk*SyEgh)D&`Y_(l9P=>H%KXt7SPUPIN#Lk0vDBM;l#Ix5uScdQDrfBa?bP zy|35K_ti;wc_k(nC-g7oMy29|59Gb3W_kbEaZ})gXT!x#TTr`R@U-&O=mj4vQX9ZU zjn_bBFJ33@MKFDGi}b0VR{~(AMV(|yM$=aLFRUaWswAbtwEAV07JQ<_{yCYG@5*fU zf-KL^N%|dq?sxU+g#PJ(@TYtgFuXB5QM_e5XL99yCn&ldz^K<9BR2c~+rRzW@`r!; zhdFgRK1-<^$DNvhKmF4`H6$4TM6=+4%}x=81P~D*Eb&Eg^+O8I3@BuL7Tf1f(I3Fh z_04ycU*wl>c2qK?6DPom2HoUm!1HHvCgA^qxa9xtXnQGf^9exd7%Um(IWG2U_5N2B z=reChtS2JD$h=-hXY?t08Je*A>$(=aqHDr{laP2yFYa_ol8F^rS&qxn!lEfEBkWhJ zTU&d(nI6{L-EDHPxx8OqA(0grA*VMyGGg+3jPA5~KW=AqOIQtc#|`(NH~IrXbN^na zN*avZZ(4q?`}e9W#xFX{Qwx%QB`ppEbY9V?;R*OTzaobBWhGSsf2OOE9{7#l_zgn> ze*W{Ho9}kNroC;~01=2L`E)#fTj3AL6eFCaWE^uM7DUZ{^;ds2r)kfzKH#B2wlI)d zAwuVT@ngDk59n=|P#3T!8W32$DUg%5g?(JZtM!D1d7do<+%&hpxz`Wy6Xs`nCSL#R z;*$S__+kH&FrNUFmcfc`B!F~)T$h!{f`M53tYoULNg|k*Y+yv!fRA)d(8na^cv3+Q zML=m;ilt?FY1zy?XYpkrtE;a!o*054bqXq`|2eYSRb+FA$wa~p`%O)mC;+)WynW+A z5b|5+0ig6Z7D(xpzGMW52LlPI(^G0u($2fG9J}HqhNdL-f&SGG#J%{b_FWPG;@{G2 zeL%O8HX=8C2NbN)IY3%~uxtrTv&*F|tXRzN|Nifr{Bk7!{JKpHqQY_K^I(L}k+h{A zBeuDg{a%}$h#B+lqZfd)Kw;ovakWG!__1>^Tq~Ax*$%K5vaM4%7WfJ6lh#D#lNLYp zPMD!FEW12C)3;kQp8%AW*$QCTeo}v!N{SP^BJn2`^pCwIi{)9P^pBQ)*5uy{4(Ij4 zcWmVH=NA?XV1#smv-;latFZ0!@eXX;-F6lT>JcWCkf@ihSNM|Y{iiHwQ8GiipFhjG zVSh^6C&j<`cWgFy3!u_6NP!@v?78QjGr+VB3*>FPYJeq#gbM#Bo_NCi47t1=JpRp$ zYlF@Oq8Nm~iMCLTdBA4XF9B7+m3;c6x;>`bL*hyZGYjJ&+bi%85L37&MEl&0Yagcu z=f)@gC1ySWC{43@Gm?-A_0C7*l6f>G8C;XbOh77f;2+5S=UO4q#=}=|$AbstS<q~# z*?rjAuobj59>D5z+&RZt_4}Qq`cRWfQZ6ZlcroiL{k`vf7Qf){CM-WZ3ouc<MVS37 zU-^mwrEh-ooASvgpO{*W{WL)SGoSg4$(f%$d)5Fy`)a-D+tuv8^Es%PC!#^6{Qv#G z|JT&PK&TJcxZLotX`iE>h7ddJ#C>9?V>%A=MfgGrlY!m*e%vv>grcVObq9pvzChr8 z{XNQl*Tqiw^ufO*%_jh*Ywnm_z1S%XRQR6Ch%jLNq;B2f3WG$vL4vDRI49@b>@e)N z=|W*2Gn0Xm`rl&GO!jkV?|a?ba8dF6eTA=GFu;j=07BG!j})x|ya)&(#Y(02UK`c@ zPe1*%i6Y_k(>_<MknDCgTN8kg4ygc$GhG>|-5qd?AeQnrfOp0d(;Co|;)K~mjtWyo z9R~$L+6Jk@Bqwt-voi7*3_BkKHE;6x5D`)n<n>AK5hkI!pX+{Hc6n^JZ@X_k0Vr+b zA_w%zqj8aQVSQS!-G{|x{B`0=hFXEZeA_w~xN~#X-Pgq+0K1=d_stA4!Rvq9``v-c zs@;i}uN{E8-XHzZ9~m-0Jpe_50M%}(Ca(A7X(0pj|M{Q)*`y=@{ZbJ0*(<Zh8l^@e zFVq28#XwtCf54VM8S}b+@k9cszC0~%Z2<Ri7TWd0)am1PjyGGrsHn)=^~1@#&DVtB z{U}1D9fe|Eq7Q`oFAKs&jx(t5gU9b*_qU1p1mN~CtDXIhcMH>|0Ei16nNa44lmFYV z?~{eV7W#1U6YfLc1NKj$&z$)A{(Uh(m~;TScv3sm1?0C2-c+%d`?`+4renQ(z>w6# zZ~o?Q=F|#r=TQGnjL%7j17wTN4AKFRfD)SC2sqn00+0cKnFt}pfe-+Q0BHf%h$?Xv z1?#-~I1mgSvQ?WF>;ZbBkX+{r-ey}70e`OZLGQjLAw1u|?r$UW3Bc`Pwm6WBk_(*+ zj{F*cOUUoIxEFepxED4TxUC2-v`TNbau-4i76lt}<U*fRRH3lvlDIiPZU?;mS{6U# zzb|G1n8H9b_Q_9=jEoqq2FAStQ2MhoFffpvnVE6;*#bA!`*zZs<F$a=sc`ypR)IfL zRaKSM=Q)5M!+XB^)vub6`0bwO->KPj0E3L4efC-NyZ`*p|1|m-C6ErVW~G~1C)g>- zIco$_!)9^Ug$n(0E6x2t0D{mc?pnd`qIs{wwVv=^2R4b*0Reyv#J%4UnIy``_0GCf zGHl4V?VC>kZZ89zm%I%I&Oi;s%PIaL|3~hxPhk9k0PG%C?@r})!+v2|4gZPcCGzub z?Lxu@ZF7FK1+W0PxxPREuipiKcRyGRN~<ybE;0a$);q*^Fj_!u!P;xDz2^MrM?cDb z_~C~RKS#V_FnF>|iK9J~a5h>G5C<#o%5yq8Is!b8iG_du=YMXVe<z3hH#19k9(m*u za~z1W{NyJ;DV4&&e6y{1wjGZe9K!VW+GkCmCV=_?6a{NMQm~c)1OjpWJsv+`53#r2 zy}KUl{`hU*4#0c@aQhk;AQvYWCLura?xX_9{oNyO$PW?#*mJQr%4!&puwQ;rkiDo` z$yhW1bXY$gK*D<u!iyI8$GrFExk>R0eM-tue|+G92Ljn_Hc(w%9k8GchynO^Ll=VR z0f0}$fC4un2(ef!svd9c{rBJBc=qhss#B*<h3f0;v!n&Qx45e-y3uBU5YZj*-~avJ zrW>Qgr&XrC%|-+P?S186RNouz4Bg#bl1hh2hcqIfAl;zS(m4at9g;&yBOu+~-AZ?N zcg;P1fA^2LFD`G+tNC#D-p_gVdTK3KN$T^~Wwvr*NE0*Yp5*X?MK<vg_1e}8z*`Fo z_1x$k;Bjb8OCk6xpjvoM#-Vgu_7)%HFPRFGHV%|2nZb=&2sHTsM~TUtY4Zc+b_YFc zcll0Jo|f_ta~|(+%71nKe){+N>MGqENbE)@BqeF@kuapGc~LGQx!<@7iXz)N<FC#! z6NLV9c)hsv_wQ99K|pz2;JYW`-$?!!-!Gs}?Q$W<Z|LZ35zueXliF+;*x}dqaLZg5 z+)pn*^XcKv3l7`MkRE6T9)yE@nq&Y!>K5b}%WP32owR7=o5vLk^>hsP$KrNxt6G8h z9^;*4KGKIbU!C$C;NN0O?<K1q;Z4v7D1Sh$bW>Q=D#t;-ZS^{C*!cudWTgB1qK&g; z+9C(pIJaX+d8D2Mgfv~Av0R=BBKtC^WKkj;5&0Ti`qpmZA$&#eFfi-q=i33L9PVU7 zmLpbPA-nWaC!dV0Yyn#-GFD=mjD2VF@()O)o9@u|Ko9l8$?JOh2Bb80p6~?n4xx@s z7d#Q~$trLb$<ZtJ_i+Ja3w6xQ%s%*uekg&C5g^#>bCqPtWx7o|QfVl~NRHxWOXotz zU4xkj@EJaKd-U8{AR8U0UTk-V5}waMo@Vkb{iT&;Q<OxhS7G+Tfb&SVy~A2TXujIT zOmJKgz`U_FzxMJkZy;Xe9M|@&t9DmM!Z;;d`q>EM$4yuvhPI~CW5GTimr-JwWq!`V zxNa^yHEh#f{N*tDHpU;f=LPr?3!P3?k|``?@_zA*+5#kjSo=9zmSydqiK)7^+mfK4 z9&rN6uSK8j;3uUO|7ERhTM&<luUtD&rnm(|pfsx|ghB|$3ldIm4GyGMbP6yA+Cc8K zXbO_kcz%-4rB==2Z*yg-Z1h-*vV9#f)md6r=4c%46mcan2$qkiljPR%eD*andFzJ1 z0Hr=(<9xJlD?%$ubKVHRit{W$LWV-^xP==7dg`S7v}i|+&*nKGyzh_f$FCwAj&<xg zWtoRQ&1R7kC2-wWMfy~4cIQ)r+}ddnxap1odUwQH2j|6wLs^l-s4y(L2^A6MBGBgd zBJ|TKaBD*49a6i{3eISW9OBH+qY>urXsZ?aVg$8P(}&t6Y_7CINqWT@0TdAUdhvG& z6H{$H>y)M@uZW15C!Ew&nIKd)?^mN71qFqwHpl=0U_&9e+Vn*P4`@GgT#CCI(J=}v z_xkcRhdF~>5M<HDBPAzOJ;5QJ*>zGhb`Pn9QN&>pE4RHu!#t1C@LSv|T^-Xm;MTiD z0Oj3oFFdCpdmpT6yHgtSQ(y;NFEmGTdqum^YT#YfIxJh4@(7jKAG7T?Y0?s&)xYHG zdqHEAShUARPE8YQJ@b2@`!;!acyzGSRHZYP7x}lYHf2_e%$ugh+?*;IiUcfRJTO)1 zCM@jR)Hw+TveS3SIhx;-{<;t68<j%&-MGKU1PUPh2>cUq0R&m3@ucLl44L7@+T?9{ zbUVroG9Kz!G*BO0WaTaj3kT<Z5455*37nSRUJ5qM({P8HPGktRe2ElVf3>aGf}O=u zf-4Ew%46vpJ@vg7fi;UhYTU?0E<N@dhN`J4UU6}HGmPu_`1o&E`@}i=Hv@s;`8$v= zUv#uI*pM${e!R`m`1tWvsV()S+hz!rn6C=X&83o_HLSXtjv~NUvQ)f4nqjRRkWPWy zP5Y?PpYVO~%q-}8@CJ!~R?uz7i6_UaGc^97b#<u7@(EzId}j~pk(5mYc$GH)fm=Qb zC39$ued`v`@6no2^6}SB=plRQmpXd%@}E8j_(EQk&}b_gmKq&flxA<r`8xJUz3r>2 zd^d?#0|~^TuNqCor}p>MR3c!~)x|R?o4w;P!>r`(8<{Ye&@$^jB!6dx5r1Ga>}6k) zg|CTWkbKbQ)6FtZUu#j3&U^w9w@3MnL$ou%*<|fh#s5br*}?6tMFTzJ&!fLMpO6Q? zp70T#W##+*0M#JGfabC2QJhKf$f2y`jv)GS43|1&a>>{;wdYN>VaLZZ_&t{lg3{-I zivi5Kj(`uD2^x^d-pu-EdVXQS7UIdK=eyN9vZJS#>Fpcs79OltPs?i@T(PNU#sSUd zT(+o+N}3w$A5@wQxJn`+jZ6~G$&wJ{WtZvd;^lo~x(&v{jqb1aeCFe;+HQDM{e=cn zX92yAEsN?QvH1E;S}thl%BwJLK2`UN#yG$)&s_v=jsE>x=H96w?z^B2(y!uQxs|^< zL$Crb!qHof5ylQ#b<d*IBi*Q8bIKy)aWN=yXVlHvA)xuE%k??gre>KRpuEQtb=m*% zc+Lf{yjxCYc%5rLtcH54#jbT;{L9`g)Fb1wq+iY=toix?=q<NwkHi*AO5WOO1>1|d zL8;ys7@Wkog(s=Os9G*+leyR_1C!5(2P~v)nrJe7+0!-DB-la|>d!7&n3>IOoIl9P z%bDNyVw2Z<s-j%Esz4-!B+9ZfV^nJEUmLBN?YGjZ2X5sh&*d|RGVAl!fCOr4CddE0 z6cZEsR$pcmb$O#)90%IQsIIM1a59T8qGaU=S7M^jQAQa?#o2^>J>Dw7NNq7oFcNC# z7nwxD1MBg{WHL+6WakdFn?;LR?sL4y^8VMS$OJ%<6>pKx7wAy?7Zw3e5BK+*T<~+Q zEg*_{`FGEW<P!ahW;^Qc0v;US{vhe^xOm2I?4t|6+8#@+-GaEvIEDVl#WdjK@8A6M z<LtQ1poKxZ%z!VOZ)&RQ{<ax?MFuZ!f50oQmC~^4b?o5SmX}*|BZ75kci8b*^-I<U zGHRN*3tDfwD{R$90VOZ1;LFSF!LuCsys8$1R9NZ{R(>TJpO!yBCsXxHhM%joA!(7> z4kdKTvZ$kj^LGBl>jVgsNVOv|{89s>g~qP!Mvpy4$;TiRw4Y?VFnd&6aWH@?RQ!JC zH|o-O+?w1)!Y?43XMMCnh8F1V&v%tgAi@lGs2#`6*<ooN?keGW-&Dcr$k$7I&-8}C z2lr*2co^!b*}exCYu4DivHm~Z_2B#137(B5&GEk7<$(dVsX<ik4RsQ%lQQg%ohMIB z21zv2E~hm8So)90$`vmNLs>b>0N$D6^MSzV1S02DRuCJaf|R{lw6m+Tf|*&%9)Drc z@7Q1aN}3Aw%)I5bJ>&Tphdgyf{_jrQ8C{0;{n<`PG$g%#9<kDW1d&U6_YdmQ7RKUa zMXmn}ITfvVB+(dl3J|?T6#g9{sy)r@qSO8l?>%LsI6%(#z%sV_$P(53?#R<dFcWut zK}#&`F3P<Q^dYZgWQSB>Av3z*SnH^ODUYtTp4&?9A}RuBs1V_K_p}@ff0>plW}*T; zB_rLX_(ogn@+53S7iTpb5BlmAX(d<l3E3BacTwAY%x%j83-{ed{T65Sj^CYskgKa} zlp$~v8HD)-UDaSId8-08rjpX4>79g>+J?d}Tv$8&sMCk=ueQj2e@HZWGohyvyNc#e z3O}%84nj3K0eLx+$%NPM7l^17)b0QR9AWBxbOxCZ0(WQUKgX{~HuMC)sVN)KZoB`8 zh=FPY!pZPzDnV#Peu%Gp;~xC=nq9|shJ(GoY8eD!zd<k1OpoRsOIu!kpVj7l7ncUV zH6tgd6rvF{vsAq`2$dF$7f5(GAl|;_(=c7JeiDDJ(--3>%fN}LWG>eyw>g-nhPC?f z<3}ZHuYyZjG3J7?wAhSMoOotQ_rkoqo@%nVXDKUV%FIBP_p%BBfePVA%%DR>WISvD z=%i6g8|z^yl0s`yby?a$KilqLZLw|ehqfep$iqUuz|{X;(?Un8zk-fO1HXV^sw*4D z2+r$6d-;8h*yk*}f}RnX1$q&iTKSdhYx~Bo{6fxj-fU6m-Q+iY60`7p0sGT=0dg|3 z57CehmID`RYJ-0^b5-7r?Ov1=WC~J)4s4$s=c6|gai6W1?Uy3Jnh?oGx`epAyyT*- z<kZx}*jN)_#1M1x&$zKJ`WHS?@5_)&S2tyOz2Xnr+KR7~0%~eBN^?6@*cNXa&O;Mb ziBEkb`)_>}M(|#|X0cNONrMJ?d+<ypomboM&&cRx)w8JSWZyuKq3)u-@0&Ik41gi4 z(<9^IF244*vN~<?r#&^;btM7XLwujS{|#TG7^hup$_oB`-FMe8UEjaHapkRc(AD$F zY?XHr2htE3xxNB(r4Gn9Z~fl}Enm+cfHrReK4>O4L=)}Q0FwwK{-lZ6)4uOHv+jU- za_wU?q5~1HAuZL9%Fij_w)sZSz2l?!<qSLFKXdd~*jJN(mpFnwJ#!0+H3x@s2qFVs zP=zT}zf3(~XEm<1YoEr#%cGZ<mIoJs7=&WJYdd?XEq<2#>K4^IGADy8W-dOozMlPf z8Z5z&5&29cwQ@ZL803N<g~{re&#}|F8|21q|LG&G`7Nz1V=mS$M5?YVY@t*8)dJRm z9%C8pOki5r(_9MqRDpzmcy`8#hsO!f3$~sBegUe=2iXW`aGQ5rmJyRvX(9y1EY!N# z`XWyv=_tO?9u8V=XL=Q+%?a~_4*p^<`dt)nR&X5qFq#pMO8c5c^{NI?ZegscaRJER zzGA%1nXrxR_P%<{Aej42VFPc#kF1%~u5ne;8eueD#0mvX>PIUuw=w|e!sC2%^KKgY zheoJF688L~hYwGlmQTnlG64>sqj%X0m{r1CW{qNb3p?G&n9v;7`Puh%>J$HN1h!pW z{ZBv6D%9iqSen(;Gue(|Y41-U(j;ce`379+KMl&bpNZb!yii3FB%;(^<r0mW6%VGR z4*u<5^2NhhaiS7ysh;zs?IIt+H;;ePa(3bcKx!84OuHYKALJS8KG_q~I~Z0ez4Oj^ z$wvdpyCB!4kl2_6{8^-lk``_m`3DU--Uygx0!~bcTe3fsX?KAJNCkL{;K?vw%~@q8 z{Oj922PhV(swZhzCEahqOEd&RhiYUV0*m&Z>(qp)sD)_O@tLTn16$G2k>td!9xuRE zK-%gJ?@Q9ZFqz0`Eiq9;lB<NxY4sfuvu8islZ9J_p9;a$>MHl&r91bE6v-)?nJp$l z{JkUj1?p16?lO*LCMOqjSB)5LZIAMEvPx@uus9grO8Ta=YPjdP6Ujz>#tBSw#--zy zMFpF$N?v))88Lv<H1P(2$P1Ft-Q6v990vf6e|XAAh-5qCnC5On;@NEP<U}a^8cdlX zzV^)0{p!BB4);^}H<cm7`RaW@?1;j{;QaQ(9<F{9JE=qiD=C*@+?OYE0!bGL*2ojX zWRrCV+j~6L6WIkxyEOf+_EhQ4h`5rTyIc;`*TQ==8{wq6iO!O$rJh5P-)>Lwg+2Cj z(?lIrQeg%YKZAOiiwbhGDosbQLYr@LGroI*<cM>)75t19(Jmz(PrLH*u2Cg!{Zw|X zI1>rZN9vXUa;Mwc6S)P__{lVcBO6p>I>b`%+P`JYa4FIV4PHJ0dNZ?}{Rv!H`SaCJ zdd6Xyhvm)gT$NpvQ_Wkeo^OIGkcHg3Wg#6e@982u(|!ULZ35l`CJri^*q=WSzCCZ? z=H}!qImf=&S(%u7@f3`!Y;PYe+()s0FzoFw3Y1`i_YNh?LkmF(Zm7NtriTYDH_O%` zTmAhCZ2GjVOC8&Upq1+xXE7146&;Ul(hQz2P=ejNx;qm<i?-Y{m}=9V5WT^5FT43_ z8g{-dax!?jTd(p?b?ERhtvhLh*+!Y2&cJx_An1Lo8p5>h&kgWxSuvY~9@~_q9#5N2 z+$S5U`~sFp5I!|>E(Q>(<rWmoKz9Ma^|d=MHI?Bm9T7;ynM%%!aWt<aAWdpuekbW& zTucKfsHrZGZ(W1`8SsJ-CX&A#!gZ`XEl(Ka$o42N>x#C2LGaVGWAQX<nPH-~(R0J& zi4#}9218MXujde2uhiw<3ceQT(P;zy+}FP8)vV1|zewld%gbu?0vM~LOxL{|6np#( zd`s*8%(lXcBul%R6D=N>3FN2pIoqQVZfmvw+nABTZ1t&g*^h3aufD!5=$F#%oCx`| zCtl~`obr6x5crm{5BB~<B7;@jam-ha_SSw$P(<(aILE?5Lrcq!|Ar06#@aq9b^Z;Z z3A@9ihwv{Rd{)-bN4Tfi{CWzX6%dN7+_0eD*INDWpPkx~1)Z;c$4#9sAOOpa!-x|H z9dc)<LDJm0s~U#%!O@v9ELBnb)ozUp;)H~};%_X2&R@P{rw{3i93KheoKA7J#O`2| zbyeD|O8P;}7<kvVQ_mv=4TH3|R%TBg5PXhJoYwkcYs=%WL6ns7#zT6)`FiqE8>jva z2y?mD%}~RJNQNoIMCy6hc;)(EM7hvPo&^VVH(-x82DVF5Cs6_<kju3_RC#JU#q-qJ zNTO2Dq?V_?+@czTV_~Q1SK|~kaUFhO0K$)`?7~u0644nS`K&j6;|G4gsz%M3;z!({ zj*IdAur(Upei9=*O7r3P|BMN^^g=5ZiuN~tYmvauFGz-8WC?A{``FmzmD{9UcPw-N zAos=QGq)4UU;-<*5#0$;3Tw5$KO|$+kK4FC2KqE*SpRh`Py9jr@u_>bPNe&PZ*Huh z=8gU}gHJrswLH4}i0~xV1wk?(nUV+^;auuJa<<WDAw{}9P^8FsDFd(-u0r*j1nFdC zx_J4-7%!Zv?mbA&9oa0IZ-hN;?c79ecNQ#HNic#(ywUp2%rvXO4^h`R!i$jE>Nr<d z*JOPOY7j{L0<n+-d>M|WtS*Cg%13Cduf+c^iSl3qT==#|5n*sZIVG8268-Y2Oz6C0 zw}<Z~%4xydh{X1gQfw>~#K$B}lrULF43&g@!POW9d<@rrlQ=nM8@xQ?YoUmdgQxxF z1y>UEQ?jTeX8D$MnOK_(>7QQLOX1X$tsYom2X|`xhMs6$ZR`o9run+L)%p7rs7Kq_ z+6t6H-0%J>VGSmv#p0|s&zq;x*@xYzeR&dDA4P<MewbrJ?OTt6|8uhyt*zpGrv=5u zL+;KmEJ29sAfSm`A{A8oF=CC^^^g5%zf3T@e);;B!db9}d=w{nO!TX4CkgtlE}_lA zEspb!VA}q>Xs-Uh#WPGzaW8*8wTZ9zh>W7nzWYp@)6PqTqsT<XlPv~v|EO9zuvHg3 zX8$GeItoYAeXeW=cXeg_y?r)VKnaKSbYc6nP^G=}f^Ou(&yH*Fx}rWF!RKV9u4($e z^Ci<L_}9(xs->kx?l2b#Tg^eGPTPX`@B}{z?}PnSALtvCF7s7v;hz~HvUU;I_4=1Q zr<SHFy1t97dml99g5*^&e{Oz3nZ2$#Y_#(i$qUZ{=qST9-k$jSw2)s<jgPaYFSUGI z-*gn7hs;Kx+I_W)%kO0-+{X1X@v#Z+3n-VkqCVNbPP5|*ft~9#1V(Sc?CV<o+d`fn zXEp*(=!g_(Slp}h8dSZa9=U$eVH^bJUVTDnD8w;o0>;R5MK5P0_;@=x<PMe*7!YkK zQd9p<*~X^+Qo6WB5J0Rzc4Hl_<ly`;oWpsU@nGAdK^_?KLov{I^j8>0OKIFRFgCfj z7vGv;hj@xtkXS3Yw|~e#*_uGSmA^ao`4Q&Y`bwgB3H`@Y|B>cl@G{(Gi8BPYPLI&; z=AD%T^|>e|`Ui22!qq|Uun>S1kqj>h6ybG4j`M-zI096?iR*DgkCcnrSt+QxS~T}Y zjsvO-rJO-kJy;Es2ZfOE3)c0gRPAj33Eh}no-`*yEy#}{rn%Th?Ty$5l?LJ!ei%$3 ztF=^Y_pK$j6KbZ#3R?Urx)!6?Vx+~HZV;>zPSfT6_2BE(j-Bx03YS<gj-r8WB<!ZF zh==eQNSREK&?0uqvA)<^`sM(7HgRkdVSZLWQtP0lhoFG)(Lc4$jh(>k-Qs}l7FrRc z_=zDI&?za}C)BNq$RCdRtb%<=s;x|ezD9B4s#*%Ng$_4C9!6%iB88TJaA=p2<MsXe zx}RGHuNS?zGm7h@@qO>v^o9whG<bMe9f7?PQ=B9b>$VJ+{Edw>usK{3iZ(7)QI9u- zj%(|d*jXA2w(9yYU%F55c_EyAb!O%-Oj^9XwW8tUC_sHMFp9o+w8u{eD0eZ9yn3Z! z@X;jy#<qcx^5kE;TZ2#M-Q`tu80CH&t6c}J$FrjSP)O#*%}8C^e@h9Y1R>Ugc<G2} zBw~S*#0vx!yylsO`x&^S_ZRhEc{||C68~|~WyVYEv_RXnR!FsfoDfXo`+){>$Rq4p zFTZbHJlx&EjNHw6^&^^Egp=i6W<o`%VoEwpU;=Tw+o<IYUA(4dB~`RCLq^Qj)(cI| z_l3U3bvdB7PIs}qY-OxM^j`BXC}Fyhb&$(`eBiE_%%oKD1;P{~Aau>E%^xIE*FZF8 zzp2yi4+ftLR*(676-04qdTCckivapUi8ph>5@tpW_dW%d<nr%U^X9PAdNHn4;rC%` z8RhgcOyoVv5p+=njQHc77KtT`#pb<0!?(RS|J&x=NpeDpvQqmW&%n@_$!2U<%jBO= zEEE0vd7nL(DJk=Q=BXwoCSmvIusQggHij}pM6soON=|B+BPXAE(A1o|cT&+R<WXQA zL0h+RwVLo-AFC05{<{<0iC@*0%Y$|VsD>!&arld>Y8Yq&>CE&=pF*`LD&dmMoY4=5 z+8?yo2a5Qp>0<j6hoTZJne|P<RO5Y3v`HVqwAuUtH{=J(`zYTe-66|OuSzBkVfL-$ z|I!Pswkt2`+lP>hLoh(^fhwal#&e3ZQhuNOW^X$&;-c0gnh9+B`kk=vdO+G67io%v zUoQx7O2Nj2(q)A|NCX`_gkg$9p@apSi$I7v#=y<b5x-&f?P~BvgY(`mEbQq1i02IT zhVY8ymn>S}n6f_oGWL0rlp=r<(CTqRUuLrn7XK<uc=LiSgyF9c|ImOY%hqhHFJOS* zx}G9Ol)mb!&>Qhn7;dbUtt7dqV?2P`?Pc!6*SF8XKJ)xsp?ckQn?AS!*XS4aR6Rg; zsMYpgXgX2{<9h=h$E3rSlv@3IED;~Om4{6JezncrLNch2MU|dbS{me~ZJ&8Lu|2(P z`E3PdwMqy1u4FHqi=Uo{3`02*fs?mBU}h@i2ap)wJZz}SuW_((R$*2k)NlE!f&5*j zO9?4a1&N+Ut$%QE@EY0Ud^lmbH0JyqgHJ!0UPL~MCjR%R>r`<xibR-qz%?bszKVnd zAz<$zXP1}-^p%`{PzA9}s!he*@7%A5j@PaTM^SfCTl%(_NO?AgNI>`7FnbYzbppuZ zk7EDHrY=|1ub>mrTqZ*@{=&wY6VJyh%ENe}jILNDL=*Kx`J+pzvkMU4TNV77`I~Ga z1Cn60wX)0~!Sa)Q&6<F5`JpE%DFLQ0Z20=)l?~adfo4vIyKPH#jf>*TTGom{WODLG z`tLJkFk4T{Q7q2vDq|b(MIt<c&@9UDuH7}7ScsNJ$+KjkvZ|b!VUM-7f{g8&EAP2f zRYxZ0=JJqM3#)7S_nv1Iff{j&iII*vy@kc^PBZacr<W?I-&=RSc@KEM(;)7@u7nd4 zf4u7>Mu6@}WG!$swy^$AQe!e6XnJwJUUz!8y}$`H^LsClF4*<l+nOeVK+n#gk_jZx zC-jc7;XZRaN1ZtGvJ)e}n%dt|K$TXNL*K%p0eqe7znSeXRD-~1W)?SUsS-{XSEm~J zd2vSZtw+OIVJOb0NU!F@{nR&ADI3Kn%6dy|`NZ$u4Gtfs#nQ<|o}O<F@$&LAPu<UU zJ~j{U^(vT!K*{iP3hAl-(13;mZbXO<A0BX(jqJ;+tN8&xiE>)a&Q|!#+3BuBw7hPG zX99~4NzpI!KCq|f?No=P7vuLItj3})_tjL#BKjeq7}KAgnZ8e%;h2xD!GOp20{Tn= zB!%_9ov>L(0i<Y)2115bqy8qh1L0Xs?pv@Ba<+TQ^@wQV>A@)SaM%{IUbSl?l-JW` zdOub)pU+$K{>m~aqFc;qUzkA!-6*Q5)h$SrExUgFn1^0vpG=w6oz+-t$o}hVZp%ds z8;ZW6Zd^kHIWiodoSHhmqC!1~$Kh&_xWPA_99fe9El`yee!AARzeLM3|KR@M{+v#I zg!0Hy%s%X;(Iq+Wf5T3+xFhn8X}z+VEPf8~Q&jcLh~E+O<<{=64tPa`td>v0-zoe$ zptus752rShq~%>DJqHf*-|)Nlf+i!2_vNm-u<K#+87JmeoxKd=W6@ZZ0VuWx*XnPA zDr-3xM<dI(w#Z+kM)EF@oZ@du#qDEn;&c`J4=;1EfZ#Xjw_&_7lWDVS^U-M3J3gzd zoR+1>#pUIE^Q@lDMGg-3ya=h+8M{#;=v+)V>mo|E?3X@=Of6kc^5%{v%b<(M4ygu5 zGX=Rm=F66B%M#8DibnM<>(AUjeGFlRl5gLpfPLdD#u%yRY<hPom<Z4b=YzWenby=@ z#49vsRxBLDcuD|H^9Wn?&i`hb3d&l%Df*IPq=L~Ao3)7qxy=*^)f!?xNknMRy#>D5 zCcA%UJBD>Cd3Tgzl@S|E<Jqr*)QpG*q6JB1i7!QkDubpC<oByBe}Hn6Uck;aw-Ke- zG$l*5xmpduiP?=*KRgW(&u%Nx6Zi~Yr;nuKcg+wNp534IlY1=uGQ6XIfhg7@_N}l= zGxdjxWXb;i0nu*ph%q&c-I(#HUF)MkX+U>mX9?@vuEZkO)D)kkv`Gk0UyX|ryKX|- zp926|5p7qP_{2|HL6VZprKBKQMrNL0b(wqnRKVGxg1fCv=Ej}53<^SY)>K$L8p1#j zLBx`e1?DDbTUIAXQrRK|X@LH7um5xsZfmW2H`~S_&ll%4Wj?C!GDN?iNuiH{XQS3i zvehw90Un)D<3{jwVx{Ip868YFiUaqwoP#Kl7kMp+<Z2N{k(*s9dh=M~ZydDPuu%)D z3{_;zRdrmM)EEvp8n{d12z8L(tR?^U7tj|q^oqW`zDoTd6^~G_XB=E@*Yl=xYZ|*e z)(fDjD@0X+8I6A?Li*m*mYM6DpFFU`)jvF(i||yAAWqW?GbE#>Oj1XNbUs$(y-+M+ zQr%~1d+ypr+kH@AXMCqb%Q)WFh@pdE{Fj)c+3Xm&Lyr9ZfnYH{w02E3u>?wR^T<SL zo=ui(aJ@!57CHk#yTFf~;R2=xelEiO1~shcp-%l_uXdiSV{@VWYGRs57L^MxS0BqI zL^X%WX?3P}bVjUhZ*b?Osw_$~{To>w1$>8LuODQ1)O2al8b$!|iXyRbZF0;4woD)$ z;~(5C!DNNqqsnfQZHrx?nnXbnx3;F9l93U27RrPCtUhI1UQZTpG4+is$vkWhIYnSU zK+6eQhlWfY8lXXdp8tZ#!Cc_pJ|aG#5d-7pmoj}#qqTpF%J^?lJnXXr4*-4fU_ki^ zbX)=rnLGBzO2r|we!0!+x4VIU2gK&K(fjfl_1n{Z;qa^8mSDchN~-vjGsmf_m8E6& zngn9Y?pGNQtqvaSQ)$$&*K0v&=92_Q?_g;n6g}=o?&|@!2mAZEwfS1QF@)mI3Q;s7 z?9|lMmT8>oh;?yoQtZum65pCl)B^ge5Arnf9k^3MDAh8Fkg{c}sse6VHun>Xc?-KO z&7BuFABv8RK7IOeJ2;q+oN=d4t0|v_L`OEN#QnoS;;;_`aTS=vi2?n0Oa9N{xF8<J zHdu5q=HZ><aFbzWb$?#%T7QQ;oD%Lso{~nDh&$HCG1m52sZT`}cV|(CBH6NbSH#xv zI1zk)t=E^U<5%BMA@z%6Pz8zZ;K?aMAqsgCiki{Ga;hF8UrfEQ*<F7}DTg=nhu5}j zC<csyBGTBnbvr<)G#I5&5Lflp8RZxI$a|Wvc&Ce`BqS;#3>e>u(0v~VkjW{?W6_sR z=2E_pQ&I}KASw@?sp9^jXg8W+Mr)RFsEmcqrFBZtOSa96EXVqf0r&;p*1~5Wwcl8K z`?W}Zgb*Q;4or~KLDt6<btG9n6jjh&l*_&~SnM6){rxf1KK7S)z>WN1!tEBe2Uo}J zELN`|+Bo#{RaQpRiq6jR!oE}-ava{Jfy7LOY;>J{u~%8k7)^KWmr#4lv%_|uJwVND zW2Ws{z|dohm;=<jEifjG1?SrwYlW-45C3DR!%iHd@M>dlNBeYO1s(<Q_Qg~VbvD4J z6uDVyaiYw8z9QTxa{F0UhFV~mpZ?N)zE`715$$xA$-s1j=9!oX!-Gj{U2yJXdC>so zFgrCBT&!JY>}^WL*!3{%bhD7#85@hZEvy_u$pr^;*|loz*{}}C%`(+G2YPPgYh%Vt zZ%+HJ2TJN8Er)Du;#?=oEsk1w>0B{r&@CSAxOLg1K1(Fp*-J(+ohuPV!i=HUNEj$F zq2jvbZ5AkN&Fa9&vOrrxWN~I}hc`L%fh5zYB@ANF5abok(fcWJF{%!1mD%=5_L~K= zP-}Bg#TmMulZ2RX5FYHlx@Kyn4(@>iX@4>@Mx>m5eP;iP{eA7ybN#GB<^mG`K4$nu z{nM2yqj=*{Emq$duMrd<O3Vn_-rlzPP8W2oIq>5tg%73egKirUgi#H`=N|EPfnC^2 zYdIswLC=AYj|)uK%}EcYtBtmHpH+>T+uIpUull(|!uuS60QH(Y)bA48|23t{L*vYu z(7iZvQ15s}(c0kB$Ma0w$Nh$K;Wrw0ul*NCaGm{1Z)sVZ)OkYE#L9p^Gz-QwSI%bm zrSbDoV=wk)P@&|JpcJRov^0q_=0$BNZVs=?a4uQa`s!yBJMboEpejs2EOeqQPz+b8 zhk$qBqq#;g>t=Xiz;Ka%+kHC>gEe3lnF-V#<#@iS*!*qH-&U6}Qmze-Ge)}D2kdaD zu0eOBem{NPIhv!{IHB7yBc+<wh*tVj?ZVw~ITtyu$oHOLHYN>^%kFHnp!so<&F+>| z5gXITx=zmt@Pk)_jm&+7!Yo^$z>ybaB>Y{H?YuWCqXKWk4}&|?W&KXghehp>LkvUm zJiI19B<QSQiLiwCE%)-%+?d1O<O@n<V+P&uinZ42tJ4uumv*xE4u2Edz*i_sPdaR< z!(Xeg{XcDLbMCz7w0QsfkNK3u&m&v@`5HasnhEg2Y(cdz?CHq!o>Idxg5m;0BTXZj zYqp|?a`oU;;z77Px|b!>+q9S~VD<~J1GOe!=6b?O&qhT~R(nW|s<9!uc)CjVk2XvB z?pdYO^if09WRgjDlTpsyQ13=hpB6+?NiXgI0K8mYU(#6yXk=+f(<jN%!(>xv9P{+O zE^MnZc*-u=XToq&?b@bZcXpvc|B7l9QB^jm?#S?uU|tix%zL`sh_=<UKnGP&Du6<4 zyU^N!)GPO!H}hdXA-K~QJOxoLd*L<ONYW;<_b5Ey){#}bJrKLxwjCrKr-J5Znoq)r z5vUp#M8=~BWHw%Vnj<_d;eWtTEMcBh=!@^Sx^T^WEIKDrEjbGQP?9{OC(CRSpcXU| zD=5ltbOQ83U;NcJ>dAb*ENBrYn#lh51{*b=SGt3>tS^0cZ0_xcQ~fk^>?9=oBq=+4 zb5<a`Xz$WRqD3&3la0Isf}^!!hPH}n?6`@f-PCB`rF($6TD(bEqE&MkDWsY0iQf7l z`av}+{0mIrH?=REkWFgkaDoqYcRq=3oE)HmB$N-=Z#QV+v!kDG0qUk~Z%{?fzgOru zc6ta7ww3e1bbeUCin=l@NG}_HgIK^K8Ql`}bR=VPiF?#n5npg-YyzHXYqaxP(*(K8 zW>b^Vkasm)aBVDxTXDNM4A*XtP@0j2b>kiE)_(VzAKpkf;Js_nYEiq`I>u5}473FY zL`=}m_pQma>>h_Dx4~TAGHxI&x}LT4JgnhDLQrvOX7!<w-vk5P3I3Uf@irW0-(u19 z%tM+L`16Gk_W?$l4k!(Me8XUXS0eE|l7_7BY%V@o_|5kQue5+V4Ik+5V;YrrBdd!I z7s<ljNInMX(+`oZ&Zhk#g?oE4w=;jo9BvFnc<)R#)8Q9Gsn}LTxy5CqeQLBFhZX2p z*DkZJ{n!rSf&SrooPh;yX=BVbMLzp~ib(GC@Wu!TK&E=!>U*b`)gzDgYflhqj^5$c zli@}bD`t=vLiwB&>}G2iNy76Y_EW)8jS(j0dHJ(AK@<ZKmR6mz{~CAD@ZCd4Af{`C zonU6yj?t2A#RpeLFtJ<m=)9TOP;XWRuAe+NQHNgzdYaFj#m3(ZA&3y+ws-Z6oM3Y! z+~W1lonV^NvGUhoezBpGI(Oe#5MFfjooSsaWYJIJ@U}1G{MF<IgfAKG7B9-A5tW4t z%GJ2vsf%eTa$k9-_LL;pRflZ0D6CZ{2#62IXDs_tiMUWG58=jgki@(q;%+MsFlUdH zu4olsft6?v8IpyJT<2JqZMbhJFnz6)7)=ui&TPG69!+}_iYW8_bD2G;TjY%DVsV-K z;I~e3)3?(xe9@%EuV&UqK*yVjhlfWQu3|OXD|qB9S5(&+uct_%!{^P*wXV{%M{Uef zL7Ay=2Lgn>bl2&nb~0Djsf}mIhOh0<7#ZF>wCHu**n!+)xwu{t8>~&=4QlxARc2OB z(-2w--ShPxWPSU{9^XiDT5Qy_7d{Zzg<!obL@1oOir)(N5Kb#Ze87oV?Tj|;$s0;K z-G(JO8fUE}N=}OtrCkg;-3z3#Vvadh-0?giOX%_O@!dY1K%ylc*Kq$yir?JF$cEE_ z>1ZegpG-UmP@mJpedZH6?wDlv1Q5a+!q?!Qq_sB9R~q0gQ<TUnTdK);r5CXZ%;l*g zb2e~K)Ys7G4xiUP+iBD%A|9V9;P*Sk-e)~Y^*5`n)Wh)u<}fT5Gw0PW6?3;M#;g&e zqjnKds_Un*Ij=qLiALL;Nm$+un?fM8ogFTyvg-O1w~*s!{Wi&Qt5fevHoP6{YWIvt z_d(#3ebt2r=rbl$Uta(fk9n?KKR-XMl<PWTR?u#3B~m%*s5kU}T)qLS)Zu<3Ts3%g zXI+c>{1qjXIO=5N=ckfnr=6&KM{GC#X}>kZ94(N8p0T$#0gyGT_ua@(pT05n?Z7!4 zFt2(ivZ6777Wz#<Vl{NAyV>V~rJh6V!?sX0>H>afuT8z@I9dwgw#)EnM*A6|epT|D z*HJ&EHtxzYIXcHB;$OmNO1M@(=mWJwe9&RZfG7-;lykM|q_xW`)2DVO_=PSAaKpmC zO+E|tw#~THmnizepKcuQ&MowE7T5D2k>j&d7qo)bnL5;k7@!$vim|pd<*epLf29f? z(B>@I{zdp-XK<h?IlUP_CC5_N8k+Qz3^1|ZbK6ayCh9^_XSdvWbue?5pd)0r*#6kb zpcR4FZ^>8tr~Lg(!K-t)FVFjqjom;fU+VbX($QVJY~LrQFb9595jq^~qdGn5693nt zK1e`=-D`ITgsuk^n@%II3oZO;Xix@rqFw4$sLsrYlFd{9BY0&DSNs;V=d6n$d58x1 z31#ky6Ck_X&Lwf*@A_ocWR!XMFw;4P8QD66m?ib}Lwz_eMwyc_U5V_w5f^B7z3$U6 zBW#S$sQ+jGk$-P+VMo~SWpP<E9xNQ}jsA%o_p>~wdY1$1#Wn~nZW0Ycii)v`FU^Hz z1zhq?i*EX^_QFY<zAvxUJkR-&tH<1~%D$O<W=<wRA6-87xGDHPNe8vJm&f*53+G+L zf@4=pi`cgPiy((WpPVD~;|B@egG|e(CLK5;3&HBcJzUQHIX^$2TUfYZCYV7N2{@t` z_nuxnA|l~{D3i@zCNA&uOxFU!u0P>(nJz!Y!nY#m2j0-&q3BcASpJ}TaY*FPdw+aT zipr$>@fRY@Ljtl+&ynL_y@FJ=H5V11vBY|lj~65&)XmH{&gyxd*-9wv9UPy<0i1Vw z<hEiWJX$C@O5y$6TRiyh-w2P<kBs6<)4wVw@Ol(E`wp~5;%gYGLO-eZrF!QhRz^B< z_s4cnPebJ+f>%gBSLFoUE#qQg%}tNRqvD#nf5tN~SPDsbxWUFU9xw5AD#6l2{eE<S z{&uXsVAvC6H3l!Ue8PT*Ea{56T%6cRsP?kP_UxP98PVBRUA;TjFsWL>ooT@YEiGl$ z99(?<!ag7|f-7SH;*v>CF`Ug)YxC#?F(D5>BdWwkfTH{NNRt%(2~$PM1^@nFdfS?K z^LTE>pVjq}V)OY~%4|42MgqdT9$j8vZ!Fs`cJb&4qg_P@MLk&jfaaMscrOP%e((K0 zW}#hCNzm8Xnawk9;!N&WH`d%Y;V{0KZ{DpkV0m(Lb(2$9MoL|g++ffi2EvHz=%7Db zfq)ouP!CsRyU~cZ!KZIruk~2|oT$5!Dzmon9Kcrtp5Wku%V-P8`Lhu8L?{VQ<R9=O z@(kx{xr|%7uo|F6h2N6t3iw*4$|2~PS&JUsp(@uqxzQ*Ov2FN>82xcxwy}rCo%K6; zm_-n7-y>;hkYizAieF1{Q=NGHjS%fNRmZ}@F+Csu;V~+0z$q!7Sr!J8V{#XcbP~^e z`^};U4eD|6D~%laP>u|}W}y@VBlZ1jf6fbEz8OZF?qJdcV<I}!-#Njw7Uu1bO`c0P z+Vl=a0Y~@^p(CDxp3jT_Uh%D8L>rzOI$)0U!>1Cihh+bz9yhLLjOujy#jl@3wGsMl zp^alvJGNY}`gq!i<lk6{)@U51859f{gwlBN2D&o@nx|%X#<%2r&59jv93yqj920+U z>sG%nRZ}<TAjWsv(gMNdLWN30`*u}HRxKLzN%lTWE+K@>4}LeMtOE_YGSKJXc(*mo zQ$#ey->uaC6~$|%@w{GKuyV?@Uv+=9DOM@VM2Fhcl$1c|GZ+X!+2m%DfC`%<Fjn6T z(6qZBl-AiCwT<1-e0lmD(EwM&e_s$VTPb86VI!I#C)yAuU8KJ==t%&TOMW;m`hZa^ z$NeGIYE1()F0;Mt-r>VZ0^z&k-lzF4#8!5{D<}#lQ%uQtZ(O(%hQRz#<AEN!aLn<( zQ&$2);c9s~bz9XOjqTeSuyJ)EkWW`;6e1>tAXzfBr&(Y#FwsW~v4KU)?l;xm#m>`! z4xhDIK)cSQk#j>7@#(MZv<$W7Dq`g5lVo|449h-52gRqOz$xDindq+aR9TL^F`xE* zZECzg4QXEVH-HK}9cp{^l?cD~d1^tCSn2#yFzg^<R1BP#R{#?9Qx_SdD^<=8e1Z!S zs!Yl?uThrO1V3=vrI|X#X%9u<KMMR2shTg*mhv{I!>ZDl9wtS9Vgr7U_$STqS#B&P zDE@^bf9^|R(REH7`hB<Pp9^9%&o*I7Hoe;?JBcgSp7;FMFE`Bo_=|<}9rJiSJ>JDH z!{eIbj(v!ZNll{xnDp0DV)$14O9UL1);A>6u+jVm-nDj0L%Ya_D8XU)I-}PuozU#i zq~~=_f~sXLpGFMV?30_|DchXS9R`B6T$1$n2^7yh{xl<zn@Yn=ZOh2UzIFv97=Gl8 z{<Z+~xh@H+wN_WH)RjkbJ!H-U{8{u?V}yPB<#I-l=o-y}&+Ayspi4FoO?{HYH?AQm znl`*KBEU8<4jxy0PQ)IM-P)>L;Nohx*4^Qt@o_<0@F#d%nv9-sxa12X$VXc@@e8A$ zpCo%jpntt-0>9-sGJ|N75V{Wd6+TO*$o3UVb{h~eUOux7r~31y*3YzX?k~@T6S(91 z>*BA9q1elBWVmHAVt#N!9y)H*UfS}wdlcJwewPEmj4Ei`Toykt%zRswg(oe_r~ta9 zHcNXwcoRr!*bYc4niD?H{#7-BGqZv|fBK@rSa^icU)dmy6PRGJskP3Ud!RgLZD44H zNf+(R9@(vgF{gr)H;RK)jP5?Ia3PG-G51hFsw$&wroyPom1^P|hCpFH2J#vReN+hs zxN<k%6FFf1B)r-RSHG#WEBU*{Qmz%&w=n5`(UZGmrcmGJwd_6p<hJ;f(xc1N@xT_~ zE*A?r<@l{Vf0B6b1B{&2yPsuKiwu^xML-CbNkEZBNul<D7>owz_dk>VI?DaI8kDGw zBOX?YG$JUyb2VH^PQ56>zYw4-8HU0#4@97d*WAs9zjXpkp}na=9_ZFj=*{J=+Lg0w zzvs~;dwj5$uO5XW8?6@CmZujs#_ESI4qIM9=WYE6h?Ys$8>A81qw967=r^{;sKmnD zmOW70?ndlw(%Y^dg#ru(A}#739&{;JHSl|e*$KigLb$ldPsA-`o^szQd`t^y6YWDN zOI;|4t935_vsjS1EK>Ev20~f$ey2k)%a2ZWaI)ZaI<W9n3uKMZ-ZcDxvnu5twA5r@ zx?A|?CA};r9e7nUI~Hv;L(IDC`2=z*C9q&*gBB?+W{Cm4M;E7xBjxx1#TW5Ojm6Z! z;IneVq5I-{*3SW2Faa3V3QULw(uA)=Z9u)ddnCtAAf461HouNdZF;+mxg?>8kj{cP z_(`Hh;=R+IXK%~osV3Tl^e*L!n!5@7*_U#^;H=Ggk08Gw-=;IO^BJZ=saqzZ?k8xr zYnD!yn%sR>#l@f#WxVN2C1v*5wHA{e&^PLNr$3Fezh<jOcIM*jNwAd8vjA%Y+soRO z%C}N)Hek}H#(+)<d)xa=d0<CyK>9)t+&+;#c)dc9A+^2imCl1*O)j%C_dT{q=P`?* z<8<>S32pu%lc?NB{|-UeV_yqgy485$I7&suc)y?jzVQv-*W=Zlt0604>YLk|HqL-q zM<$RrQgHihIh@Pa&**7i+jY#y1pcav>9u9k6f5a|nW=mWtLMEuk5e-(VQ^H_cj#hl ztF2$nbkkO)?Hr|mbi{^}Sz7iCm4^v0%>mrrwDd(e5){u=exj}|I*VtWzs<z#wy(GM z@PlyRQytdO+UJP5AzzAjbLpA|V^YGa$%}=;Z6?mHu1zw&2!&%{ePyibPN?QnD$DM~ ztfqPS9`3?+Wo#7SGEMscGe<w%8r$;)0^;t|({fRGU+|Xw%f5}r`!0t#@LWLOHqvW3 zQDc@10sB3Bbo<N<b(HC6qrj<KmYO3*Qt1$v7~)g(%X=fpk-+1EJ;b^W+-=sC{M@Vq zM=nq{vejEnzonYEoqDj+q#XsV*6R!24cNP~&<D6{0K0_1HzIt}QdfoxB$`(ss1-C3 z2;-~}3>LPS^s}hWqQ6$M&=+1MYb%30VWB?!w~M-2Nn@7cSa)z#DsVd$^m3G@6;HZ^ z9=uA}>|@1@AU?Y2u8tZhjxAWQIKj7L_@wxn@P4-1YO;j>wK}+L?cLF{PnIQ5QOv^w zRf-qs=<W*F@I98b7hD>x!dd}@c6K|?SAb^xu3cgcYeU#%n!}Phm@hrLCc!XCTn)*c z@SYV!vecK=2g%z$Bg1|_YlK#Dpa42#$jQn1m+A;H=LKM_|LEvD7%I28c<W5?Bs(`t zJKwa*;>PmR%6kcqG3%cP>XhLAh8qZ4!FFbw)lwg^sln{82cVdFdyxrmo(VqxVEmV$ zO}^)t4qP678l5zCC9Ayt;>eMQp}f2<nDG&$>{gJUe@I~31iUbP0G_xkf+X-fr6&MM z15aGw3Id+qA%MY1qpis>fdYUhEd!Vic;4cngMgoO2LJz`{=dIXn{e=?k1IH6Vpbaj P{3*VDC;MC4*#G|k7&B=u diff --git a/school_data_hub_flutter/windows/runner/resources/app_icon.ico b/school_data_hub_flutter/windows/runner/resources/app_icon.ico index fc6e2dd840765bdf0476602f71dbaf6381725978..52209b011d4cd7c0bcee98bec3265059dacbc5c9 100644 GIT binary patch delta 3092 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 delta 3743 zcmV;Q4q)+}7@{2z000310RS*C00000AOMUGkq{|=4pT`)K~#7F)me8~RmT#abGeOs zL8&&1H2V`35bS~q3R0ud*n&z(qLL^W(Pz{oRuG8_B5KrU1;l~{5U~X%)@QHLCshzZ z1O&PC^JWegJ~|il{qg4e2F~5xvpcgpJM)`4e3oV5|C#s=8}8h>17&4ppJQ%S<le{( z@+;(j+)tTI*i8z`9VO6L&7@v?BL!StUE%fX*G<pDFp8|j0L#wDu`AWp)jKKic<?Sa zw-DQcvF|tJ@-|D4q~|*jdX6)N3%2{~wKr0rRchVjmS}2f`h|vuGEPoTz(WNR6B9dp z<LUWxa#B(!?EkjSYqmgbSD<C;!ti)24~K<+G2`v*Y8%Il83WO0&Vadvg-3}@wiBD~ ze69uCu0YFXG_q%p9#Y$J;~I7J>C*?St*v=+adD(s(+af1p|sD0np1*hRW&p;7^aDS zYExHJqesm)uh{~%&xD%asfQ09JgCaf&gOOQ+_`$FyrZ<F1g>4XMn7-1an2U$)9yfj z<DI@+TwHu{u7`(hM0hx;s;Y86l-#nnw>PAwroO<R(Vw(t1Nt-t8t+;avU_Yy%<2B7 zrsiL`xiJEP0Agcf;ql|gN!T|TS@ub5HlWrNpbg~71yl5l-yn}jO-Y%udGqG=_)Lbs z4EZ4P2L<PlAX`FpFib{%(%kyZDIh?9{t?+7SsS?k%_S25`y+o;K!8%Y!1JJb145yC z6BMB-$eXpawYzF-Ycol&UR9NrmR`d3_hNfK^4ZoDAmNW28X7t+UAhzo3>W|}U%u=T z5D>8P(c{PD0?9`f)qO!KmBPo5&Fa<U&XHGY0*5(>#NxxjK|%akvu1%vB!bL;%uJr= zh9AbIS;@wtJrE@6(V7CD-3<(!u3x_nHJ)V1kRjmW;sQ1{Hdc4<-dzFJCQ(aEe0{;# z$Oz`mn+HWj^>k}=%SrHs3l~C4YAT$JimKbi!_j`W-p>55W={vPK+H9!i*g{_fdy7p z#bk%S41)$Crm+GHGk39%Pp$BOHPoR)2UxXg6=9|6IOb<;s-$*3Jv~@3e?DkwX~D2z z!(h>(MQ{eAZXE?`x7ozR1cHNuVZww7bg3aGCI-sOYoU?8q_29P<Pk;Sabr2`9<mOe z<i7;3+rQx?44B>5gFny5TQwB7u>vfsZDwZHsF|o=zkZ}(7pT6Nx#Wd^hFDo~!V?+c zDMaC}`uqFC`t|E;%!)-k#D4wt*YNxAzXJk1ZY)J+ZF~<+q-Ns;6)%f;j_RWz`dtFd z`s*inU7W=^x)94>;QHT};ZKMcw5|Zdyt{w@zW(sx!y9!yd-jYJEWpQR@wSqZ5-eZ7 z9Hvj7uD55;9`%Zf3gyXvlPC8!H#h$qTDr(AYmD)ta!7VBp2ScJM^a-ztR#j|t6#uU za{#Qpw30^MZ(RYF-5(ejXf|ca6hJRf+f2K;X3ZLUBq;C**$;Uia*2Ehd7GZdlaTGv zv<6R|@}*E#QU(|k9^%9p#F*3AM}~hFxkCP)De_w6iL^1^-ah<)xVW>7s)-baYny?E zMt=y|zMW#p2OS-qkk%Cd*pZx^JONL@e%Z2R(5qK3E<f<!xDoE%y?Yz`_aHAt4#gm~ z7$@C|&$`IYXwN<G-@T)B^3*AaM*Dv9_zAb=-Mbs`9UL6`q9f=#a>VeZ%F4>Ac$uSd z4GG?tnI$FM9_;3SDJl7-q@*k}H@Em^qJsnPg~lyd_}~HDxN+k>_D{#nO;SVwG7ndD zoeMoYJZ8y-%R!DDJb17_o=ydxMn+y<UJwdkqN%A7eC}KvM4dPRh%_Pnbq41iYXBYn zO-oII(Cr}{YiMdQc6N3K=nT9<ckG0akPt{qOS{&sTemoWiA0jSz{~5q!-o#-i;RqP z!dEGOz|(^WoG`lyS(^=Hq(lI|v<d%<P@=MtBS%)9IB}wrmX_xAg8Y2Lix)01KQI3$ z#K*@&&b#Vtu~z72&?r&f`&>8@5e^aIVW5Io$=Z4hIJ-Cx)6vmAj-D>};DG~Ub-H!C zzH#Hm>&?i2rjP<PL@uyIAQVDGL<D&o(~m_(hSR1_VJ=)w0KA}_U`+|!8qqsA7bZHV z(4C&afH{ac9u=i!sINQH&(H7St5>h!`0?YPtN=%DZf<}_Opl3D6_v1<xOkV>>1k3l z8D`zOwP-e(^~|O<qOk<>%q<3ki>n(rJ2?U-LZwQ7O1wnuK0@;l3iwP4uz(O5=%R_m zV!CZJaRCiI{qBAf9VU4CAWRNBatu>-8JxxdMkbZ}KCgi?Ea%UaB@!4l${L)VoxpM8 zM9|gMDaLV^aX>8cNn|c46c!f3zWw{F;d%|+XeM81UV%F6M@L8F!lU5m(WB^5x>FN* z1<_f5^fZP&`@$p_CrG?@4R-yp2iIibN<sphJb4l$ax|1;E-=p44uy6GJ6l`m*g*wu z-nxmAU6qt1Cvl?gvd^DC2YY*aKyRc_6-42D;P&m?ux{--6ml2+?1*gr{Mke3KgbNq z%Syn_(E*f1%ABySt}d{_e<N%S3WCbYDsC@-u3SlgRV#mn7~G8Xj7)g)^f?HHLbc16 zFT;TY2S8I(ljGgHcf*@EZxj`)Z3)e#ix)ZUg7)i}mXf5uYwsao8380O{*l}1(qb7z z9tr1IMMVX{-x!cc#BlM#MXC*PbJUnteo+amSg~Rb!V3zDx0_f_1K9wo^MSnfD9|5& zc>$WQIWR0i%<~xFLgvq(U*PHK30*sDaYxKBJdoiXDX*-oCm==c=;&Hd*XV+0XTK$Y zNO*<ZWeoCasIFERA_pOUvXw}s!s3q~%c`oX=#Ef+(x~FrqymN@p1O@S-gkPuv3SJH zFX2N$0Xz@fYdt(!=011#-mMr9eA3f@(_!>bE2t87fPo19rcIp;ha--)>W!#>@Q`6( zJ#r|UlbPy;P3FimkR6Z-YFJF0Hcj6f5pf100DXOZ5duRu^hg7+ZwOQe)fN@#-j9*) zwg9Qv@@XlkS&oE?hkwI|3?URUOixW#5W?@+F<&GSvPmf^Oa)&J7@iWl?_hX;h5Kv| z!I8*Fsy@K$j0}*;N;rYh)}c$+u3%wq0j_Rez!z?=l|rE)bnMu%JD?iiQKm;|Z7N=1 z!NG$E!OP1FcI?;zt5>h)Vh~1eBSZ%)<tNdi0yBzi2B=6~=0K5mFyxK)1U3&XNJRw9 z-rwNuRA+X}k|n;SC9<8V>6yTP6BmN4v;x%?%ouBHHyn8!9=VB3RxCsX7*aqa60<5Q z(h4+-G@L&Hc{lQP%DCi2)r#53qtQh52+?BXhx6ypgQcY<@cDeecED4yZzyb2aJrvq z|NbEPVFpw_O$OP{7;cj~hOGfDCmTTU#vn=^ko_i;k(HJLTT%+|a&j1dsa`kAgBQ^Z zC}`)bthZf#e0;*toT|2M+vbjLGYhKyd@ZCdC@82|vsxCGRi%6ZHvsyh3>!9V00RR9 z?i4$9B3J~X2GTZp0@*n^IZzgz03`?FfKd?w$jYGTr_I1O=?3p}b6H$~<qO5&<FlB< z8UnG9-qVo3&pvweC=1PhBMaxD5=uGd7yl-p*SmM`dJ7#obf~VcC;XLk@7_H#YTvnY zCnq=+hkyO`SHN7E#$>dv0LvbK8+GBw!l*PJi1?ru8wBOIA4Acit&lgu6NE*@DM?95 zt1({?AmB2V$4AU`;3z$uK7AVS5^~YIX2w*^e<|Gz4-bd&<Hy&3E_LhHt-2AG9=5Mr zx9*Qkn>I1@oq~eez<~p~Oz_+9zGIce;$THiATeK7yel1wzJKXG32boJi@J1xgrmp6 zC^5OToMGobefEqz!S^({p}(PAT31&WUc7iw)5Mt!dJ`}-G^{t4E~$-;4Uk8Z)4#H^ zvdkAOSn$2OyE`*~d-iND3&j6b2rstcyy1!{fay|^mnA&-PsRHC-hxeQx>Qwibe|85 zZw0UkEd_Wh%#msL$bLycB$j~L;>C-(bh9oQ8yf>f;yOx@vJ3ETL<a>2e}&IRKwo!Q z7HtjAH?>}KfvmEEfj~Uet>tB9I{2IH;a!Dd6<BqQ!V}hiu3hUgf8M-4RTvf!w8i3O zrc{ywQaw8+B`#gM#C=1ME5XXg#VW8?t5AaS*3^cLrlzJ1n<#6Wh?j0s)|)rOW6#D) zsOEF|Ps|xGLR(o{*}J&9+B-QqmKz%z-NuVa%A7)eNiS2mg-*iS+PeAATkTY!5zU?J zf!@cbZd1R1?5wO?2M!&SoH}_5ZXxI+yi_+DCnjEnt5>gp?~<Pc|LAWz40GdQGiS`$ z(4&Wm3&?kxP6E?N4)s!^^gmNz(ZYodp+d1lMf$<ez)+dbS7IpWkOFlfMNJ72lOg$K zHUKp>wPI}jP<N)GLx+O7xjEdt+4Lub&!T|1+8@_{rDPQqRijChC!IZdG;;Kf8#fWl zCqq0Y`c#>aVW6|K8_y*$gUkkjiLvn&RE*r=MQ8$LHoWMcRROB5k-auSs`>fv2c@I^ zo;!CI0yYH_b^(9?01%6W5Pv=%mM!%Kdq)=t3EqOvAC9$2$`(jr1vD_(*s^6yb4XL` z?duGG>8qp^C_w<1lbsERF`5$BrH?YM{?q6P>k^e52@EPq3Ms(DW8D-GP+Qk*f>OHb z=@z41t5W5eJYh_1EM#EjMP8^22Dj1HV=z(orMx1nrM0LcxM$Cv&#Qp%k|i)_&YYHp zbWTZ5krHGmtE?(qv2xXV<WU&>^zj0tSu16K;>rDm<LEQ{tCl8GR#sM6c%oJnpdF=3 zb1NjmU9Jq>zMY480{K9yVfwZ8Lbit*DL~%<sH{;_(jZ`_K)vUAr>;6<XU}%0x;%ya z!uAS8CHla?!1@&lxf`aho~<fC`EEPus+>QGFyCkxC|jie0ssi8T9NwbAOHXW07*p# JPDHLkV1lw$6Yu~4 diff --git a/school_data_hub_server/.gitignore b/school_data_hub_server/.gitignore index 1edd2d25..e741d658 100644 --- a/school_data_hub_server/.gitignore +++ b/school_data_hub_server/.gitignore @@ -17,6 +17,9 @@ doc/api/ # Passwords file config/passwords.yaml +# Docker +docker-compose.yaml + # Firebase service account key for Firebase auth config/firebase_service_account_key.json From a01beb843705f3f24842f376a20adab275076101 Mon Sep 17 00:00:00 2001 From: dabblingwithcode <nacho.dominguis@proton.me> Date: Sun, 23 Nov 2025 14:25:06 +0100 Subject: [PATCH 05/13] update readme --- README.md | 275 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 183 insertions(+), 92 deletions(-) diff --git a/README.md b/README.md index 8d4d72cd..f5440257 100644 --- a/README.md +++ b/README.md @@ -1,156 +1,247 @@ # School Data Hub -Software tool to handle school information flows between teachers / administrative office in an effective, collaborative way. +A comprehensive software tool for managing school information flows between teachers and administrative staff in an effective, collaborative way. -### Origins +## What does it do? -This software originated during the COVID-pandemic in the primary school "Hermannschule" in Stolberg (Germany). In order to keep track on attendance and quarantine statuses a simple app was developed to keep records in a collaborative way with a simple backend built with flask. +School Data Hub integrates with data exported from the NRW Education ministry software ([SVWS](https://www.svws.nrw.de/)) to build extended models of pupils in the backend without uploading any personal data to the server. The backend models are then used to add and manage additional information collaboratively. -Recognizing the time saving potential that brought handling this information digitally, the app was expanded with information sets that are handled every day in schools and cause long ways (walking across the school), cost time and organization resources, or leave long paper trails. +## Technology Stack -### So what does it do? +- **Client**: Flutter (cross-platform mobile and desktop application) +- **Backend**: Serverpod 2.9.1 (Dart-based server framework) +- **Programming Language**: Dart (SDK >=3.8.0) +- **State Management**: watch_it 1.7.0 -The app takes exported information from the software provided by the NRW Education ministry (https://www.svws.nrw.de/) and uses it to build extended models of the schools' pupils in the backend without uploading any personal data to the server^. The models in the backend are then used to add additional information. +## Architecture & Data Protection -### Data protection efforts +### Privacy-First Approach -A singular approach that this app takes is the **transport of personal information through encrypted qr-codes**. It works like this: +School Data Hub implements a unique privacy-first architecture by **decoupling personal information from the database**. Instead of storing personal data on the server, this information is **stored locally on each device and shared through secure data transport between devices**. -1. When the client is installed, it needs school keys. Without them, it is useless. -2. As a security procedure, the school keys are kept securely as an unencrypted qr-code in the school's office. **Whoever wants to use the school data, has to come at least once.** -3. A user comes to the office and scans the school keys containing the URL of the server and encryption keys. These are stored in the device's secure storage. -4. Now the user can log in with their credentials. However, after the login process, there will still not be any pupils' data to call /display. -5. Now, the user has to scan the pupils' credentials, tipically from the desktop version of the app installed in the administrative computer that has the education ministry software installed. With it, a .txt file with the pupils' data can be exported. The desktop version of this app can import this file and create / update data in the backend. The personal data is stored in the secure storage. With it - and with the encryption keys - the app can generate encrypted qr-codes that can be read with other clients to import the pupil identities. API calls are only possible with this pupil data (and jwt tokens for authentication). +### How It Works -#### But why so complicated? +1. **Initial Setup**: When the client is installed, it requires school keys to function. Without these keys, the client cannot access any functionality. -The aim is to ensure that the pupils' personal data isn't sent back and forth through the internet. In fact, this way the personal data is only transported through devices over encrypted qr-codes. As we are storing quite sensitive information, it is crucial that this information can't be related to a concrete pupil without proper authorization. +2. **School Key Distribution**: As a security measure, school keys are stored securely in the school's administrative office. Users must visit the office at least once to obtain access. Users scan school keys containing the server URL and encryption keys. These are stored in the device's secure storage. -**Have you got a better idea? Pull requests welcome! :-)** +3. **Authentication**: After scanning the keys, users can log in with their credentials. However, even after login, no pupil data will be available. -#### What else is encrypted? +4. **Pupil Data Import**: Users must obtain pupil credentials by transferring them from another device (typically from a desktop version of the app). These credentials are stored in secure storage. API calls require both pupil data and JWT tokens for authentication. -For now, all stored images. +### Encrypted Data -### Features already implemented +The following data is encrypted: +- All stored images +- Sensitive information, including special needs support strings -#### Attendance +## Features -- keep track of presence, minutes late, excused / unexcused, gone back home (e.g. for being sick), parents reached/not reached +### Attendance Management -#### Schoolday Events +Track student attendance with comprehensive details: +- Presence/absence status +- Minutes late +- Excused/unexcused absences +- Early departures (e.g., due to illness) +- Parent contact status (reached/not reached) +- Text remarks -- keep track of schoolday events and document them with a picture of a document (or whatever you want to photograph). Schoolday events could be an admoniton, an accident report, a parents meeting (anything you need to document) or any other incident associated with a pupil. - -#### School Lists +### Schoolday Events -- create private (user) or public check lists to keep track of whatever you need to keep track of (paid money for a day trip, signed form from the parents, ...), including a field for comments. - -#### Authorizations +Document and track schoolday events with photo attachments. Events can include: +- Admonitions +- Accident reports +- Parent meetings +- Any other incidents associated with pupils -- authorizations are like lists, but an image can be attached, too. We use it for things that we need to keep a record from, like signed authorizations from the parents/guardians - for instance the authorization to take an avatar picture for this app. - -#### Accounts +### School Lists -- In our school there is a school own currency. It is used as a reward system to motivate pupils. With this currency, they can buy stuff in the school's own shop (like school t-shirts or buttons, but also pencils, erasers, or little games like frisbees and such). +Create private (user-specific) or public checklists to track various tasks and requirements: +- Payment confirmations (e.g., day trips) +- Signed forms from parents +- Any other administrative tasks +- Includes comment fields for additional notes -#### Special information +### Authorizations -- In case parents/guardians provide special information that everyone needs to know (like allergies, emergency medication, likelyhood of having an epilleptic stroke..), it can be called in a special list. +Manage authorizations with document attachments. This feature is used for: +- Signed authorizations from parents/guardians +- Any other authorization documents requiring record-keeping -#### Individual learning support (WIP) +### Accounts & Currency System -Pupils have the right to get learning support according to their individual needs. Being an inclusive school, this also includes special needs. Our local school authority provides mandatory categories that we have to use to describe individual needs and formulate/follow specific educational goals. These have to be documented / kept record of, too. It is also essential, that this information is available to any colleague working with the pupil, and that all colleagues involved cooperate and share information. +Manage a school-specific currency system used as a reward mechanism. Students can earn currency and purchase items from the school shop, including: +- School merchandise (t-shirts, buttons) +- School supplies (pencils, erasers) +- Small games and activities (frisbees, etc.) -- This app can work with any category tree - this means, you could use your own. +### Special Information (WIP) -- Based on this tree, the app can document category statuses - as estimated by the responsible colleague for the pupil - and keep track of progress collaboratively. +Access special information - authorized by parents/guardians - that all staff need to know about students: +- Allergies +- Emergency medication requirements +- Medical conditions (e.g., epilepsy risk) +- Other critical health or safety information -- It also can document development goals, which are ideally formulated together with the pupil. +### Individual Learning Support (WIP) -#### Pupil profile +Document and track individual learning support plans for pupils. This feature supports inclusive education by: -- All information about a pupil is bundled in a pupil profile view. Here you can call additional information like the parents' language proficiency in German (since over 90% of the families in our school do not speak German at home, this is relevant to us), siblings information, or information about afterschool care. +- **Flexible Support Category System**: Works with any category tree structure, allowing schools to use their own categorization system +- **Status Tracking**: Document category statuses as estimated by the responsible teacher +- **Collaborative Progress**: Enable multiple colleagues to track and share progress +- **Development Goals**: Document educational goals, ideally formulated together with the pupil -#### Filters +### Pupil Profile (WIP) -- Filters are incredibly useful when dealing with lists. There are general filters (like class, schoolyear) and specific filters for the different views implemented, as well as different ordering of the list elements according to different criteria depending on the view. +Comprehensive pupil profile view consolidating all information about a student, including: +- Parents' language proficiency in German (important for multilingual families) +- Sibling information with relationship awareness +- Afterschool care details +- All other pupil-related data -#### Matrix: User accounts and room management with Matrix Corporal (WIP) +### Timetable Management (WIP) -- If you configure a synapse server to work with Matrix Corporal https://github.com/devture/matrix-corporal , you can now easily administer accounts and room membership, including per user power levels in the rooms. +Complete timetable management system for scheduling and organizing classes: +- Weekly view with interactive timetable grid +- Multiple lesson groups/classes support +- Subject management with color coding +- Classroom/location management +- Flexible time slot configuration +- Create, edit, and delete scheduled lessons +- Filter by weekday and lesson group -#### Calendar (WIP) +### Library Books Management (WIP) -- Calender view to see / add / delete schooldays. Additionally, the attendance list of the selected date is shown. (To do: add more than one day at a time with https://pub.dev/packages/calendar_date_picker2 ) +Digital library management system for tracking books: +- Book catalog with ISBN support +- Location tracking for library books +- Book tagging system +- Lending management +- Book search functionality +- Multiple book instances per ISBN -#### User management (WIP) +### Workbooks (WIP) -UI to add, update, and delete users. +Manage educational workbooks used by students: +- Track workbook assignments to pupils +- Manage workbook inventory +- Associate workbooks with pupils -### Roadmap +### Competence Management and Report (WIP) -The export of reports in a printable format (pdf) is on top of the list. +Track and manage student competencies: +- Competence tree structure +- Competence checks per pupil +- Competence-based assessments +- Progress tracking +- Semester-based reporting -There are also a couple of models in the backend that are not implemented in the client yet, like a digital library management. +### School Calendar + +Manage school calendar and semesters: +- View schooldays in calendar format +- Add and delete schooldays +- View attendance lists for selected dates +- Semester management + +### User Management + +Administrative interface for managing users: +- Add new users +- Update user information +- Delete users +- Reset passwords +- Manage user roles and permissions + +### Matrix Integration (Matrix Corporal) + +If configured with a Synapse server and [Matrix Corporal](https://github.com/devture/matrix-corporal), manage: +- Matrix user accounts +- Room membership +- Per-user power levels in rooms +- Sending messages from the admin account to users + +## Utilities + +Cross-feature utilities that enhance functionality across the application: + +### PDF Export + +Generate printable PDF reports for: +- Attendance lists (daily and summary reports) +- Individual learning support plans +- School lists +- Missed classes summaries + +### Filters & Search + +Advanced filtering and sorting capabilities: +- General filters (class, school year) +- View-specific filters +- Custom sorting by various criteria +- Quick search functionality + +### Mail Notifications + +Email notification system for various events and updates. ## Setup -You will need a school key - if you don't have one yet, you can generate one with the client. +### Prerequisites -Format for the keys is: +- Flutter SDK (>=3.19.0) +- Dart SDK (>=3.8.0) +- Serverpod server instance -``` +### School Keys + +You will need a school key to configure the client. If you don't have one yet, you can generate one using the client application. + +The school key format is: + +```json { -"server": "{Name of your server}", -"key": "{your encryption key}", -"iv": "{your initialization vector}", -"server_url": "{$your_instance_url/api}" + "server": "Name of your server", + "key": "your encryption key", + "iv": "your initialization vector", + "server_url": "your_instance_url/api" } ``` -### Url for a local development instance - -If you are setting up a local development environment, the `server_url` will depend on which platform you are using for the client: - -- if you are using windows, it will be: `http://127.0.0.1:5000/api` -- if you are using an android simulator, you need to use `http://10.0.2.2:5000/api` - -### TO-DO: +### Local Development Environment -#### Code quality / architecture +When setting up a local development environment, the `server_url` depends on which platform you are using for the client: -- migrate filter architecture to `PupilsFilter` (work in progress) -- subsitute hard coded enum filters for class and school grade with a dynamic solution, so that the app can be used for other schools. **Priority: high** - -#### Functionality +- **Windows**: `http://127.0.0.1:5000/api` +- **Android Emulator**: `http://10.0.2.2:5000/api` -- error handling in API calls. **Priority: high** -- review state management across pages. **Priority: high** -- handle 'no internet connection' case **Priority: high** -- review / implement navigation **Priority: medium** -- internationalization -- generally, improve code quality. The naming of models, functions and such should definitely be revisited by an actual programming person.**Priority: low (it works like this)** +## Roadmap -#### Design +### Planned Features -- review widgets design (rows/columns), and for that matter, the overall design structure (for instance implementing a theme). **Priority: medium** - -#### Features +- Enhanced semester management UI +- Competence reports for school semesters with PDF export +- QR sticker generation as shortcuts for documenting features +- Additional backend models not yet implemented in the client +### Technical Improvements -- UI for semester management -- pdf export feature: individual development plan report. **Priority: high** -- implement competence feature, competence report for a school semester and pdf export. **Priority: high** -- workbook feature **Priority: medium** -- book feature (library lending system) **Priority: medium** -- generate qr stickers as shortcuts for documenting features **Priority: low** +- **Code Quality**: Migrate pupils' filter architecture to `PupilsFilter` (work in progress) +- **Architecture**: Replace hard-coded enum filters for class and school grade with a dynamic solution to support different schools +- **Error Handling**: Improve error handling in API calls +- **State Management**: Review state management across pages +- **Offline Support**: Handle 'no internet connection' scenarios +- **Navigation**: Review and improve navigation patterns +- **Internationalization**: Add multi-language support +- **Design**: Review widget design and implement a comprehensive theme system -### Credits +## Credits -Thanks to the open source community! +Thanks to the open source community for the excellent tools and libraries that make this project possible! -Original code written by @dabblingwithcode . +Original code written by [@dabblingwithcode](https://github.com/dabblingwithcode). -Thanks to @escamoteur (developer of get_it and watch_it) for kindly answering questions and helping out in a couple of sessions with state management, the PupilProxy model and its filters. +Special thanks to [@escamoteur](https://github.com/escamoteur) (developer of `get_it` and `watch_it`) for kindly answering questions and providing guidance on state management, the PupilProxy model, and its filters. From 6f39f9845e5c76ba57b8340c6584c908ef191e89 Mon Sep 17 00:00:00 2001 From: dabblingwithcode <nacho.dominguis@proton.me> Date: Sun, 23 Nov 2025 14:25:58 +0100 Subject: [PATCH 06/13] implement new secrets in github actions and docker --- .github/workflows/deployment-docker-staging.yml | 3 +++ .github/workflows/deployment-docker.yml | 8 ++++++++ school_data_hub_server/docker-compose.production.yaml | 7 +++++++ school_data_hub_server/docker-compose.staging.yaml | 3 +++ 4 files changed, 21 insertions(+) diff --git a/.github/workflows/deployment-docker-staging.yml b/.github/workflows/deployment-docker-staging.yml index 72574dfb..2607de63 100644 --- a/.github/workflows/deployment-docker-staging.yml +++ b/.github/workflows/deployment-docker-staging.yml @@ -173,6 +173,9 @@ jobs: SERVERPOD_MAIL_PASSWORD: ${{ secrets.SERVERPOD_MAIL_PASSWORD }} SERVERPOD_MAIL_SMTP_HOST: ${{ secrets.SERVERPOD_MAIL_SMTP_HOST }} SERVERPOD_MAIL_ADMIN: ${{ secrets.SERVERPOD_MAIL_ADMIN }} + # Matrix configuration for sending emails + MATRIX_SERVER_URL: ${{ secrets.MATRIX_SERVER_URL }} + MATRIX_AUTH_TOKEN: ${{ secrets.MATRIX_AUTH_TOKEN }} - name: cleanup run: rm -rf ~/.ssh diff --git a/.github/workflows/deployment-docker.yml b/.github/workflows/deployment-docker.yml index a4d9f6e2..d9fa3c15 100644 --- a/.github/workflows/deployment-docker.yml +++ b/.github/workflows/deployment-docker.yml @@ -164,6 +164,14 @@ jobs: SERVERPOD_MAX_REQUEST_SIZE: ${{ secrets.SERVERPOD_MAX_REQUEST_SIZE }} # The token used to connect with insights must be at least 20 chars SERVERPOD_SERVICE_SECRET: ${{ secrets.SERVERPOD_SERVICE_SECRET }} + # Mail configuration for sending emails + SERVERPOD_MAIL_USERNAME: ${{ secrets.SERVERPOD_MAIL_USERNAME }} + SERVERPOD_MAIL_PASSWORD: ${{ secrets.SERVERPOD_MAIL_PASSWORD }} + SERVERPOD_MAIL_SMTP_HOST: ${{ secrets.SERVERPOD_MAIL_SMTP_HOST }} + SERVERPOD_MAIL_ADMIN: ${{ secrets.SERVERPOD_MAIL_ADMIN }} + # Matrix configuration for sending emails + MATRIX_SERVER_URL: ${{ secrets.MATRIX_SERVER_URL }} + MATRIX_AUTH_TOKEN: ${{ secrets.MATRIX_AUTH_TOKEN }} - name: cleanup run: rm -rf ~/.ssh diff --git a/school_data_hub_server/docker-compose.production.yaml b/school_data_hub_server/docker-compose.production.yaml index cbc8c55a..b26c725d 100644 --- a/school_data_hub_server/docker-compose.production.yaml +++ b/school_data_hub_server/docker-compose.production.yaml @@ -73,6 +73,13 @@ services: - SERVERPOD_WEB_SERVER_PORT - SERVERPOD_SERVICE_SECRET - SERVERPOD_MAX_REQUEST_SIZE + - SERVERPOD_MAIL_USERNAME + - SERVERPOD_MAIL_PASSWORD + - SERVERPOD_MAIL_SMTP_HOST + - SERVERPOD_MAIL_ADMIN + - MATRIX_SERVER_URL + - MATRIX_AUTH_TOKEN + command: [ "--mode", diff --git a/school_data_hub_server/docker-compose.staging.yaml b/school_data_hub_server/docker-compose.staging.yaml index 56cbc7f5..6014b419 100644 --- a/school_data_hub_server/docker-compose.staging.yaml +++ b/school_data_hub_server/docker-compose.staging.yaml @@ -75,6 +75,9 @@ services: - SERVERPOD_MAIL_USERNAME - SERVERPOD_MAIL_PASSWORD - SERVERPOD_MAIL_SMTP_HOST + - SERVERPOD_MAIL_ADMIN + - MATRIX_SERVER_URL + - MATRIX_AUTH_TOKEN command: [ "--mode", From a50621b463bbaa9130c79643e145593ddfa55653 Mon Sep 17 00:00:00 2001 From: dabblingwithcode <nacho.dominguis@proton.me> Date: Sun, 23 Nov 2025 14:27:32 +0100 Subject: [PATCH 07/13] implement natrix notifications (WIP) --- .../matrix/data/matrix_api_service.dart | 27 +- .../matrix/data/matrix_api_service_old.dart | 522 ------------------ .../data/matrix_api_service_refactored.dart | 196 ------- .../matrix/domain/matrix_policy_manager.dart | 35 +- .../rooms/data/matrix_room_api_service.dart | 350 +++++++----- .../matrix_bulk_credentials_service.dart | 25 +- .../matrix_credentials_pdf_generator.dart | 178 +++--- school_data_hub_server/lib/server.dart | 68 ++- .../lib/src/utils/mailer.dart | 28 +- .../matrix_notifications/matrix_client.dart | 46 ++ .../matrix_notifications/matrix_helper.dart | 20 + .../matrix_notifications/matrix_models.dart | 29 + .../matrix_notifications.dart | 485 ++++++++++++++++ .../schoolday_event_notification_text.dart | 91 +++ 14 files changed, 1092 insertions(+), 1008 deletions(-) delete mode 100644 school_data_hub_flutter/lib/features/matrix/data/matrix_api_service_old.dart delete mode 100644 school_data_hub_flutter/lib/features/matrix/data/matrix_api_service_refactored.dart create mode 100644 school_data_hub_server/lib/src/utils/matrix_notifications/matrix_client.dart create mode 100644 school_data_hub_server/lib/src/utils/matrix_notifications/matrix_helper.dart create mode 100644 school_data_hub_server/lib/src/utils/matrix_notifications/matrix_models.dart create mode 100644 school_data_hub_server/lib/src/utils/matrix_notifications/matrix_notifications.dart create mode 100644 school_data_hub_server/lib/src/utils/matrix_notifications/schoolday_event_notification_text.dart diff --git a/school_data_hub_flutter/lib/features/matrix/data/matrix_api_service.dart b/school_data_hub_flutter/lib/features/matrix/data/matrix_api_service.dart index c9e3dd35..58604742 100644 --- a/school_data_hub_flutter/lib/features/matrix/data/matrix_api_service.dart +++ b/school_data_hub_flutter/lib/features/matrix/data/matrix_api_service.dart @@ -105,23 +105,28 @@ class MatrixApiService { ); // Direct messaging methods - Future<Map<String, String>> sendDirectTextMessage({ - required String targetUserId, - required String text, - String? transactionId, - }) => _roomApiService.sendDirectTextMessage( - targetUserId: targetUserId, - text: text, - transactionId: transactionId, - ); + // Future<Map<String, String>> sendDirectTextMessage({ + // required String targetUserId, + // required String text, + // String? transactionId, + // }) => _roomApiService.sendDirectTextMessage( + // targetUserId: targetUserId, + // text: text, + // transactionId: transactionId, + // ); Future<void> inviteUserToRoom({ required String roomId, required String userId, }) => _roomApiService.inviteUserToRoom(roomId: roomId, userId: userId); - Future<String> getOrCreateDirectMessageRoom(String targetUserId) => - _roomApiService.getOrCreateDirectMessageRoom(targetUserId); + Future<String> getOrCreateDirectMessageRoom({ + required String targetUserId, + required String currentUserId, + }) => _roomApiService.findOrCreateDirectMessageRoom( + targetUserId: targetUserId, + currentUserId: currentUserId, + ); void setMatrixEnvironmentValues({ required String url, diff --git a/school_data_hub_flutter/lib/features/matrix/data/matrix_api_service_old.dart b/school_data_hub_flutter/lib/features/matrix/data/matrix_api_service_old.dart deleted file mode 100644 index 00511b47..00000000 --- a/school_data_hub_flutter/lib/features/matrix/data/matrix_api_service_old.dart +++ /dev/null @@ -1,522 +0,0 @@ -// import 'dart:convert'; -// import 'dart:io'; - -// import 'package:dio/dio.dart'; -// import 'package:school_data_hub_flutter/common/services/notification_service.dart'; -// import 'package:school_data_hub_flutter/features/matrix/domain/matrix_policy_helper_functions.dart'; -// import 'package:school_data_hub_flutter/features/matrix/domain/matrix_policy_manager.dart'; -// import 'package:school_data_hub_flutter/features/matrix/domain/models/matrix_room.dart'; -// import 'package:school_data_hub_flutter/features/matrix/domain/models/matrix_user.dart'; -// import 'package:school_data_hub_flutter/features/matrix/domain/models/policy.dart'; -// import 'package:school_data_hub_flutter/features/matrix/services/api/api_client.dart'; -// import 'package:school_data_hub_flutter/features/matrix/services/api/api_settings.dart'; -// import 'package:watch_it/watch_it.dart'; - -// enum MatrixAuthType { matrix, corporal } - -// enum ChatTypePreset { -// public('public_chat'), -// private('private_chat'), -// trustedPrivate('trusted_private_chat'), -// ; - -// final String value; -// const ChatTypePreset(this.value); -// } - -// final _matrixPolicyManager = di<MatrixPolicyManager>(); - -// final _notificationService = di<NotificationService>(); - -// class MatrixApiService { -// final _apiClient = ApiClient(Dio()); - -// String _matrixUrl; -// String _matrixToken; -// String _corporalToken; -// MatrixApiService({ -// required String matrixUrl, -// required String matrixToken, -// required String corporalToken, -// }) : _matrixUrl = matrixUrl, -// _matrixToken = matrixToken, -// _corporalToken = corporalToken { -// _apiClient.setApiOptions( -// tokenKey: Token.matrix, token: 'Bearer $_matrixToken'); -// _apiClient.setApiOptions( -// tokenKey: Token.corporal, token: 'Bearer $_corporalToken'); -// } - -// void setMatrixEnvironmentValues( -// {required String url, -// required String matrixToken, -// required String policyToken}) { -// _matrixUrl = url; -// _matrixToken = matrixToken; -// _corporalToken = policyToken; -// return; -// } - -// // Options _requestOptions({required MatrixAuthType authType}) { -// // final token = -// // authType == MatrixAuthType.matrix ? _matrixToken : _corporalToken; - -// // return Options(headers: {'Authorization': 'Bearer $token'}); -// // } - -// Future<Policy?> fetchMatrixPolicy() async { -// final response = await _apiClient.get( -// '$_matrixUrl/_matrix/corporal/policy', -// options: _apiClient.corporalOptions, -// ); - -// if (response.statusCode != 200) { -// _notificationService.showSnackBar( -// NotificationType.error, 'Fehler: status code ${response.statusCode}'); -// throw ApiException('Fehler beim Laden der Policy', response.statusCode); -// } -// final Policy policy = Policy.fromJson(response.data['policy']); -// _notificationService.showSnackBar( -// NotificationType.success, 'Matrix-Räumeverwaltung geladen'); - -// return policy; -// } - -// //- CREATE ROOM -// // curl --header "Authorization: Bearer <token>" XPOST -d '{ -// // "creation_content": {"m.federate": false}, -// // "is_direct": false, "name": "TestraumNeu3", "preset": "private_chat", -// // "room_alias_name": "testraum3", "topic": "Das ist ein Testraum", "visibility": "private", -// // "power_level_content_override": { -// // "ban": 50, -// // "events": { -// // "m.room.name": 50, -// // "m.room.power_levels": 100, -// // "m.room.history_visibility": 100, -// // "m.room.canonical_alias": 50, -// // "m.room.avatar": 50, -// // "m.room.tombstone": 100, -// // "m.room.server_acl": 100, -// // "m.room.encryption": 100, -// // "m.space.child": 50, -// // "m.room.topic": 50, -// // "m.room.pinned_events": 50, -// // "m.reaction": 65, -// // "m.room.redaction": 0, -// // "org.matrix.msc3401.call": 50, -// // "org.matrix.msc3401.call.member": 50, -// // "im.vector.modular.widgets": 50, -// // "io.element.voice_broadcast_info": 50 -// // }, -// // "events_default": 25, -// // "invite": 100, -// // "kick": 100, -// // "notifications": {"room": 20}, -// // "redact": 50, -// // "state_default": 50, -// // "users": { "@mxcorporal:hermannschule.de": 100}, -// // "users_default": 0} - -// // }' "https://post.hermannschule.de/_matrix/client/v3/createRoom" - -// //- https://spec.matrix.org/v1.10/client-server-api/#creation - -// // XPOST -d '{ -// // "creation_content": { -// // "m.federate": false -// // }, -// // "is_direct": false, -// // "name": "Testraum", -// // "preset": "private_chat", -// // "room_alias_name": "testraum", -// // "topic": "Das ist ein Testraum", -// // "visibility": "private" -// // }' "https://post.hermannschule.de/_matrix/client/v3/createRoom" - -// static const String _createRoom = '/_matrix/client/v3/createRoom'; - -// Future<MatrixRoom?> createMatrixRoom( -// {required String name, -// required String topic, -// required ChatTypePreset chatTypePreset, -// String? aliasName}) async { -// MatrixRoom? room; -// //- API: https://spec.matrix.org/latest/client-server-api/#create-room -// final data = jsonEncode({ -// "creation_content": {"m.federate": false}, -// "is_direct": false, -// "name": name, -// "preset": "private_chat", -// if (aliasName != null) "room_alias_name": aliasName, -// "topic": topic, -// "visibility": 'private', -// "power_level_content_override": { -// "users": {"${di<MatrixPolicyManager>().matrixAdmin}": 100}, -// "events": {"m.room.name": 50}, -// "users_default": 0, -// "events_default": 50, -// "state_default": 50, -// "ban": 100, -// "kick": 100, -// "invite": 100, -// "redact": 50 -// } -// }); - -// final Response response = await _apiClient.post( -// '$_matrixUrl$_createRoom', -// data: data, -// options: _apiClient.matrixOptions, -// ); -// if (response.statusCode == 200) { -// // extract the value of "room_id" out of the response -// final String roomId = response.data['room_id']; -// room = await fetchAdditionalRoomInfos(roomId); -// } - -// return room; -// } - -// //- GET ROOMS - -// // Future<List<MatrixRoom>?> fetchMatrixRooms() async { -// // List<MatrixRoom> rooms = []; -// // // use a custom client with the right token to fetch the policy -// // _dioClient.setCustomDioClientOptions( -// // baseUrl: _matrixUrl, -// // tokenKey: 'Authorization', -// // token: 'Bearer $_synapseToken'); - -// // notificationService.showSnackBar( -// // NotificationType.success, 'Matrix-Räume werden geladen...'); - -// // for (String roomId in policy.managedRoomIds) { -// // MatrixRoom namedRoom = await _fetchAdditionalRoomInfos(roomId); -// // rooms.add(namedRoom); -// // } -// // } - -// //- PUT POLICY - -// static const String _putMatrixPolicy = '/_matrix/corporal/policy'; - -// Future<void> putMatrixPolicy() async { -// final File policyFile = await MatrixPolicyHelper.generatePolicyJsonFile(); -// final bytes = policyFile.readAsBytesSync(); - -// final Response response = await _apiClient.put( -// '$_matrixUrl$_putMatrixPolicy', -// data: bytes, -// options: _apiClient.corporalOptions, -// ); -// //delete file, we don't need it anymore -// // policyFile.deleteSync(); -// if (response.statusCode != 200) { -// _notificationService.showSnackBar( -// NotificationType.error, 'Fehler: status code ${response.statusCode}'); -// throw ApiException('Fehler beim Setzen der Policy', response.statusCode); -// } - -// _notificationService.showSnackBar( -// NotificationType.success, 'Policy erfolgreich gesetzt'); - -// return; -// } - -// //**- MATRIX USER - -// //- PUT MATRIX USER -// String _createMatrixUser(String userId) { -// return '/_synapse/admin/v2/users/$userId'; -// } - -// Future<MatrixUser?> createNewMatrixUser({ -// required String matrixId, -// required String displayName, -// required String password, -// }) async { -// final data = jsonEncode({ -// "user_id": matrixId, -// "password": password, -// "admin": false, -// "displayname": displayName, -// "threepids": [], -// "avatar_url": "" -// }); - -// // Add before your PUT request -// print('Matrix API Request:'); -// print('URL: $_matrixUrl${_createMatrixUser(matrixId)}'); -// print('Data: $data'); -// print('Headers: ${_apiClient.matrixOptions.headers}'); - -// final Response response = await _apiClient.put( -// '$_matrixUrl${_createMatrixUser(matrixId)}', -// data: data, -// options: _apiClient.matrixOptions, -// ); -// // statuscode 201 means: User created -// if (!(response.statusCode == 201 || response.statusCode == 200)) { -// _notificationService.showSnackBar( -// NotificationType.error, 'Fehler: status code ${response.statusCode}'); -// throw ApiException( -// 'Fehler beim Erstellen des Benutzers', response.statusCode); -// } -// final MatrixUser newUser = MatrixUser( -// id: matrixId, -// displayName: displayName, -// joinedRooms: [], -// active: true, -// authType: "passthrough", -// ); -// if (response.statusCode == 201) { -// _notificationService.showSnackBar( -// NotificationType.success, 'Benutzer erstellt'); -// } -// if (response.statusCode == 200) { -// _notificationService.showSnackBar( -// NotificationType.success, 'Deaktivierter Benutzer reaktiviert'); -// } - -// return newUser; -// } - -// //- DELETE USER -// String _deleteMatrixUser(String userId) { -// // return '/_synapse/admin/v2/users/$userId/deactivate'; -// return '/_synapse/admin/v1/deactivate/$userId'; -// } - -// Future<bool> deleteMatrixUser(String userId) async { -// final data = jsonEncode({ -// "erase": true, -// }); -// final Response response = await _apiClient.post( -// '$_matrixUrl${_deleteMatrixUser(userId)}', -// data: data, -// options: _apiClient.matrixOptions, -// ); - -// if (response.statusCode != 200) { -// _notificationService.showSnackBar( -// NotificationType.error, 'Fehler: status code ${response.statusCode}'); - -// return false; -// } - -// return true; -// } - -// String _resetPassword(String userId) { -// return '/_synapse/admin/v1/reset_password/$userId'; -// } - -// Future<bool> resetPassword( -// {required String userId, -// required String newPassword, -// bool? logoutDevices}) async { -// final data = jsonEncode({ -// "new_password": newPassword, -// "logout_devices": logoutDevices, -// }); - -// final Response response = await _apiClient.post( -// '$_matrixUrl${_resetPassword(userId)}', -// data: data, -// options: _apiClient.matrixOptions, -// ); - -// if (response.statusCode != 200) { -// _notificationService.showSnackBar( -// NotificationType.error, 'Fehler: status code ${response.statusCode}'); - -// return false; -// } - -// return true; -// } - -// //- GET USER -// String _fetchMatrixUser(String userId) { -// return '/_synapse/admin/v2/users/$userId'; -// } - -// Future<MatrixUser?> fetchMatrixUserById(String userId) async { -// final Response response = await _apiClient.get( -// '$_matrixUrl${_fetchMatrixUser(userId)}', -// options: _apiClient.matrixOptions, -// ); - -// if (response.statusCode == 200) { -// final MatrixUser user = MatrixUser.fromJson(response.data); - -// return user; -// } - -// return null; -// } - -// //- PUT - -// //- GET MEDIA -// // https://spec.matrix.org/v1.10/client-server-api/#get_matrixmediav3downloadservernamemediaid -// // GET /_matrix/media/v3/download/{serverName}/{mediaId} -// //- GET ROOM NAME -// // String fetchRoomName(String roomId) { -// // return '_synapse/admin/v1/rooms/$roomId'; -// // } -// String _fetchRoomName(String roomId) { -// return '/_matrix/client/v3/rooms/$roomId/state/m.room.name'; -// //return '_synapse/admin/v1/rooms/$roomId/state'; -// } - -// String _fetchRoomPowerLevelsUrl(String roomId) { -// return '/_matrix/client/v3/rooms/$roomId/state/m.room.power_levels'; -// } - -// Future<MatrixRoom> fetchAdditionalRoomInfos(String roomId) async { -// String? name; -// int? powerLevelReactions; -// int? eventsDefault; -// List<RoomAdmin>? roomAdmins; - -// // First API call -// final responseRoomSPowerLevels = await _apiClient.get( -// // ignore: unnecessary_string_interpolations -// '$_matrixUrl${_fetchRoomPowerLevelsUrl(roomId)}', -// options: _apiClient.matrixOptions, -// ); - -// if (responseRoomSPowerLevels.statusCode == 200) { -// powerLevelReactions = -// responseRoomSPowerLevels.data['events']['m.reaction'] ?? 0; -// eventsDefault = responseRoomSPowerLevels.data['events_default'] ?? 0; - -// if (responseRoomSPowerLevels.data['users'] is Map<String, dynamic>) { -// final usersMap = -// responseRoomSPowerLevels.data['users'] as Map<String, dynamic>; -// roomAdmins = usersMap.keys -// .map( -// (userId) => RoomAdmin(id: userId, powerLevel: usersMap[userId])) -// .toList(); -// } -// } -// // if (roomId == '!RHMRhueGNUwEHjoMkm:hermannschule.de') { -// // debugger(); -// // } -// // Second API call -// final responseRoomName = await _apiClient.get( -// // ignore: unnecessary_string_interpolations -// '$_matrixUrl${_fetchRoomName(roomId)}', -// options: _apiClient.matrixOptions, -// ); - -// if (responseRoomName.statusCode == 200) { -// name = responseRoomName.data['name'] ?? 'No Room Name'; -// } - -// MatrixRoom roomWithAdditionalInfos = MatrixRoom( -// id: roomId, -// name: name, -// powerLevelReactions: powerLevelReactions, -// eventsDefault: eventsDefault, -// roomAdmins: roomAdmins, -// ); - -// return roomWithAdditionalInfos; -// } - -// //- PUT ROOM POWER LEVELS -// String _putRoomPowerLevels(String roomId) { -// // ensure that ! and : are properly coded for the url -// final roomIdforUrl = roomId.replaceAllMapped( -// RegExp(r'[!:]'), -// (match) { -// switch (match.group(0)) { -// case '!': -// return '%21'; -// case ':': -// return '%3A'; -// default: -// return match.group(0)!; -// } -// }, -// ); -// return '/_matrix/client/v3/rooms/$roomIdforUrl/state/m.room.power_levels'; -// } - -// Future<MatrixRoom> changeRoomPowerLevels( -// {required String roomId, -// RoomAdmin? newRoomAdmin, -// String? removeAdminWithId, -// int? eventsDefault, -// int? reactions}) async { -// List<RoomAdmin> adminPowerLevels = []; - -// Map<String, dynamic> adminPowerLevelsMap = {}; - -// final matrixRoom = _matrixPolicyManager.getRoomById(roomId); -// // We make sure that the instance admin has admin power level in the room -// adminPowerLevels = matrixRoom.roomAdmins ?? -// [RoomAdmin(id: _matrixPolicyManager.matrixAdmin!, powerLevel: 100)]; - -// if (newRoomAdmin != null) { -// adminPowerLevels.add(newRoomAdmin); -// } -// if (removeAdminWithId != null) { -// adminPowerLevels.removeWhere((admin) => admin.id == removeAdminWithId); -// } - -// for (RoomAdmin admin in adminPowerLevels) { -// adminPowerLevelsMap[admin.id] = admin.powerLevel; -// } - -// final data = jsonEncode({ -// "ban": 50, -// "events": { -// "m.room.name": 50, -// "m.room.power_levels": 100, -// "m.room.history_visibility": 100, -// "m.room.canonical_alias": 50, -// "m.room.avatar": 50, -// "m.room.tombstone": 100, -// "m.room.server_acl": 100, -// "m.room.encryption": 100, -// "m.space.child": 50, -// "m.room.topic": 50, -// "m.room.pinned_events": 50, -// "m.reaction": reactions ?? matrixRoom.powerLevelReactions, -// "m.room.redaction": 0, -// "org.matrix.msc3401.call": 50, -// "org.matrix.msc3401.call.member": 50, -// "im.vector.modular.widgets": 50, -// "io.element.voice_broadcast_info": 50 -// }, -// "events_default": eventsDefault ?? matrixRoom.eventsDefault, -// "invite": 50, -// "kick": 50, -// "notifications": {"room": 20}, -// "redact": 50, -// "state_default": 50, -// "users": adminPowerLevelsMap, -// "users_default": 0 -// }); - -// final Response response = await _apiClient.put( -// '$_matrixUrl${_putRoomPowerLevels(roomId)}', -// data: data, -// options: _apiClient.matrixOptions, -// ); - -// if (response.statusCode != 200) { -// _notificationService.showSnackBar( -// NotificationType.error, 'Fehler: status code ${response.statusCode}'); -// throw ApiException( -// 'Fehler beim Setzen der Power Levels', response.statusCode); -// } - -// final MatrixRoom room = await fetchAdditionalRoomInfos(roomId); - -// return room; -// } -// } diff --git a/school_data_hub_flutter/lib/features/matrix/data/matrix_api_service_refactored.dart b/school_data_hub_flutter/lib/features/matrix/data/matrix_api_service_refactored.dart deleted file mode 100644 index 3690d419..00000000 --- a/school_data_hub_flutter/lib/features/matrix/data/matrix_api_service_refactored.dart +++ /dev/null @@ -1,196 +0,0 @@ -// import 'dart:io'; - -// import 'package:dio/dio.dart'; -// import 'package:school_data_hub_flutter/common/services/notification_service.dart'; -// import 'package:school_data_hub_flutter/features/matrix/domain/matrix_policy_helper_functions.dart'; -// import 'package:school_data_hub_flutter/features/matrix/domain/models/matrix_room.dart'; -// import 'package:school_data_hub_flutter/features/matrix/domain/models/matrix_user.dart'; -// import 'package:school_data_hub_flutter/features/matrix/domain/models/policy.dart'; -// import 'package:school_data_hub_flutter/features/matrix/rooms/data/matrix_room_api_service.dart' -// as room_api; -// import 'package:school_data_hub_flutter/features/matrix/services/api/api_client.dart'; -// import 'package:school_data_hub_flutter/features/matrix/services/api/api_settings.dart'; -// import 'package:school_data_hub_flutter/features/matrix/users/data/matrix_user_api_service.dart'; -// import 'package:watch_it/watch_it.dart'; - -// enum MatrixAuthType { matrix, corporal } - -// class MatrixApiService { -// final _apiClient = ApiClient(Dio()); -// final _notificationService = di<NotificationService>(); - -// String _matrixUrl; -// String _matrixToken; -// String _corporalToken; - -// // Sub-services for users and rooms -// late final MatrixUserApiService _userApiService; -// late final room_api.MatrixRoomApiService _roomApiService; - -// MatrixApiService({ -// required String matrixUrl, -// required String matrixToken, -// required String corporalToken, -// }) : _matrixUrl = matrixUrl, -// _matrixToken = matrixToken, -// _corporalToken = corporalToken { -// _apiClient.setApiOptions( -// tokenKey: Token.matrix, token: 'Bearer $_matrixToken'); -// _apiClient.setApiOptions( -// tokenKey: Token.corporal, token: 'Bearer $_corporalToken'); - -// // Initialize sub-services with shared ApiClient -// _userApiService = MatrixUserApiService( -// apiClient: _apiClient, -// matrixUrl: matrixUrl, -// matrixToken: matrixToken, -// corporalToken: corporalToken, -// ); -// _roomApiService = room_api.MatrixRoomApiService( -// apiClient: _apiClient, -// matrixUrl: matrixUrl, -// matrixToken: matrixToken, -// corporalToken: corporalToken, -// ); -// } - -// // Getters to access sub-services -// MatrixUserApiService get userApi => _userApiService; -// room_api.MatrixRoomApiService get roomApi => _roomApiService; - -// void setMatrixEnvironmentValues({ -// required String url, -// required String matrixToken, -// required String policyToken, -// }) { -// _matrixUrl = url; -// _matrixToken = matrixToken; -// _corporalToken = policyToken; - -// // Update sub-services as well -// _userApiService.setMatrixEnvironmentValues( -// url: url, -// matrixToken: matrixToken, -// policyToken: policyToken, -// ); -// _roomApiService.setMatrixEnvironmentValues( -// url: url, -// matrixToken: matrixToken, -// policyToken: policyToken, -// ); -// return; -// } - -// //- POLICY OPERATIONS - -// Future<Policy?> fetchMatrixPolicy() async { -// final response = await _apiClient.get( -// '$_matrixUrl/_matrix/corporal/policy', -// options: _apiClient.corporalOptions, -// ); - -// if (response.statusCode != 200) { -// _notificationService.showSnackBar( -// NotificationType.error, 'Fehler: status code ${response.statusCode}'); -// throw ApiException('Fehler beim Laden der Policy', response.statusCode); -// } -// final Policy policy = Policy.fromJson(response.data['policy']); -// _notificationService.showSnackBar( -// NotificationType.success, 'Matrix-Räumeverwaltung geladen'); - -// return policy; -// } - -// static const String _putMatrixPolicy = '/_matrix/corporal/policy'; - -// Future<void> putMatrixPolicy() async { -// final File policyFile = await MatrixPolicyHelper.generatePolicyJsonFile(); -// final bytes = policyFile.readAsBytesSync(); - -// final Response response = await _apiClient.put( -// '$_matrixUrl$_putMatrixPolicy', -// data: bytes, -// options: _apiClient.corporalOptions, -// ); -// //delete file, we don't need it anymore -// // policyFile.deleteSync(); -// if (response.statusCode != 200) { -// _notificationService.showSnackBar( -// NotificationType.error, 'Fehler: status code ${response.statusCode}'); -// throw ApiException('Fehler beim Setzen der Policy', response.statusCode); -// } - -// _notificationService.showSnackBar( -// NotificationType.success, 'Policy erfolgreich gesetzt'); - -// return; -// } - -// //- DELEGATION METHODS FOR BACKWARD COMPATIBILITY -// // These methods delegate to the appropriate sub-services to maintain existing API - -// // User API delegation -// Future<MatrixUser?> createNewMatrixUser({ -// required String matrixId, -// required String displayName, -// required String password, -// }) => -// _userApiService.createNewMatrixUser( -// matrixId: matrixId, -// displayName: displayName, -// password: password, -// ); - -// Future<bool> deleteMatrixUser(String userId) => -// _userApiService.deleteMatrixUser(userId); - -// Future<bool> resetPassword({ -// required String userId, -// required String newPassword, -// bool? logoutDevices, -// }) => -// _userApiService.resetPassword( -// userId: userId, -// newPassword: newPassword, -// logoutDevices: logoutDevices, -// ); - -// Future<MatrixUser?> fetchMatrixUserById(String userId) => -// _userApiService.fetchMatrixUserById(userId); - -// // Room API delegation -// Future<MatrixRoom?> createMatrixRoom({ -// required String name, -// required String topic, -// required room_api.ChatTypePreset chatTypePreset, -// String? aliasName, -// }) => -// _roomApiService.createMatrixRoom( -// name: name, -// topic: topic, -// chatTypePreset: chatTypePreset, -// aliasName: aliasName, -// ); - -// Future<MatrixRoom> fetchAdditionalRoomInfos(String roomId) => -// _roomApiService.fetchAdditionalRoomInfos(roomId); - -// Future<MatrixRoom> changeRoomPowerLevels({ -// required String roomId, -// RoomAdmin? newRoomAdmin, -// String? removeAdminWithId, -// int? eventsDefault, -// int? reactions, -// required MatrixRoom currentRoom, -// required String matrixAdmin, -// }) => -// _roomApiService.changeRoomPowerLevels( -// roomId: roomId, -// newRoomAdmin: newRoomAdmin, -// adminIdToRemove: removeAdminWithId, -// eventsDefault: eventsDefault, -// reactions: reactions, -// currentRoom: currentRoom, -// matrixAdmin: matrixAdmin, -// ); -// } diff --git a/school_data_hub_flutter/lib/features/matrix/domain/matrix_policy_manager.dart b/school_data_hub_flutter/lib/features/matrix/domain/matrix_policy_manager.dart index 8c9892d9..77a78ac1 100644 --- a/school_data_hub_flutter/lib/features/matrix/domain/matrix_policy_manager.dart +++ b/school_data_hub_flutter/lib/features/matrix/domain/matrix_policy_manager.dart @@ -1,5 +1,4 @@ import 'dart:convert'; -import 'dart:developer'; import 'package:flutter/foundation.dart'; import 'package:logging/logging.dart'; @@ -219,23 +218,41 @@ class MatrixPolicyManager extends ChangeNotifier { required String text, String? transactionId, }) async { - log('MatrixPolicyManager.sendDirectTextMessage called'); - log('targetUserId: $targetUserId'); - log('text: $text'); - log('transactionId: $transactionId'); + _log.info('Sending direct text message to $targetUserId'); + _log.info('targetUserId: $targetUserId'); + _log.info('text: $text'); + _log.info('transactionId: $transactionId'); try { - final result = await _matrixApiService.sendDirectTextMessage( + // First, check if there's already an existing direct message room + // This checks both the sender's and receiver's account data + _log.info('Checking for existing direct message room...'); + final roomId = await _matrixApiService.getOrCreateDirectMessageRoom( targetUserId: targetUserId, + currentUserId: _matrixAdminId!, + ); + _log.info('Using room ID: $roomId'); + + // Ensure admin is in the room before sending + // (This is handled internally by the API service, but we log it here for clarity) + _log.info('Sending message to existing/created room: $roomId'); + + // Send the message to the room + final response = await _matrixApiService.sendTextMessage( + roomId: roomId, text: text, transactionId: transactionId, ); - log('MatrixPolicyManager.sendDirectTextMessage result: $result'); + final result = {'eventId': response.eventId, 'roomId': roomId}; + + _log.info('MatrixPolicyManager.sendDirectTextMessage result: $result'); return result; } catch (e, stackTrace) { - log('MatrixPolicyManager.sendDirectTextMessage error: $e'); - log('MatrixPolicyManager.sendDirectTextMessage stackTrace: $stackTrace'); + _log.severe('MatrixPolicyManager.sendDirectTextMessage error: $e'); + _log.severe( + 'MatrixPolicyManager.sendDirectTextMessage stackTrace: $stackTrace', + ); rethrow; } } diff --git a/school_data_hub_flutter/lib/features/matrix/rooms/data/matrix_room_api_service.dart b/school_data_hub_flutter/lib/features/matrix/rooms/data/matrix_room_api_service.dart index fa77c5b2..071e644a 100644 --- a/school_data_hub_flutter/lib/features/matrix/rooms/data/matrix_room_api_service.dart +++ b/school_data_hub_flutter/lib/features/matrix/rooms/data/matrix_room_api_service.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'dart:developer'; import 'package:dio/dio.dart'; +import 'package:logging/logging.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/features/matrix/domain/matrix_policy_manager.dart'; import 'package:school_data_hub_flutter/features/matrix/domain/models/matrix_message.dart'; @@ -22,6 +23,7 @@ enum ChatTypePreset { class MatrixRoomApiService { final ApiClient _apiClient; final _notificationService = di<NotificationService>(); + final _log = Logger('MatrixRoomApiService'); final String _matrixUrl; @@ -281,7 +283,7 @@ class MatrixRoomApiService { final messageData = {'msgtype': 'm.text', 'body': message.body}; try { - log('Sending message to room: $roomId'); + _log.info('Sending message to room: $roomId'); log('Endpoint: $endpoint'); log('Message data: ${jsonEncode(messageData)}'); log('Message data type: ${messageData.runtimeType}'); @@ -480,60 +482,51 @@ class MatrixRoomApiService { /// [transactionId] - Optional transaction ID for deduplication /// /// Returns the event ID of the sent message and the room ID - Future<Map<String, String>> sendDirectMessage({ - required String targetUserId, - required MatrixMessage message, - String? transactionId, - }) async { - // Step 1: Create direct message room - final roomId = await _createDirectMessageRoom(targetUserId); - - // Step 2: Ensure the admin account is in the room before sending - await _ensureAdminInRoom(roomId); - - // Step 3: Send message to the created room - final response = await sendMessage( - roomId: roomId, - message: message, - transactionId: transactionId, - ); - - return {'eventId': response.eventId, 'roomId': roomId}; - } + // Future<Map<String, String>> sendDirectMessage({ + // required String targetUserId, + // required MatrixMessage message, + // String? transactionId, + // }) async { + // // Step 1: Create direct message room + // final roomId = await _createDirectMessageRoom(targetUserId); + + // // Step 2: Ensure the admin account is in the room before sending + // await _ensureAdminInRoom(roomId); + + // // Step 3: Send message to the created room + // final response = await sendMessage( + // roomId: roomId, + // message: message, + // transactionId: transactionId, + // ); + + // return {'eventId': response.eventId, 'roomId': roomId}; + // } /// Creates a direct message room with a specific user /// First checks if a direct message room already exists with this user - Future<String> _createDirectMessageRoom(String targetUserId) async { + Future<String> _findOrcreateDirectMessageRoom({ + required String targetUserId, + required String currentUserId, + }) async { log('_createDirectMessageRoom called for: $targetUserId'); try { - // Get current user info first - final Response whoamiResponse = await _apiClient.get( - '$_matrixUrl/_matrix/client/v3/account/whoami', - options: _apiClient.matrixOptions, - ); - - if (whoamiResponse.statusCode != 200) { - throw ApiException( - 'Failed to get current user info', - whoamiResponse.statusCode, - ); - } - - final currentUserId = whoamiResponse.data['user_id'] as String; - log('Current admin user: $currentUserId'); - // First, try to find an existing direct message room log('🔍 CHECKING FOR EXISTING DIRECT MESSAGE ROOM...'); - final existingRoomId = await _findExistingDirectMessageRoom(targetUserId); + final existingRoomId = await _findExistingDirectMessageRoom( + targetUserId: targetUserId, + currentUserId: currentUserId, + ); if (existingRoomId != null) { log('✅ FOUND EXISTING ROOM: $existingRoomId'); return existingRoomId; } - log('❌ NO EXISTING ROOM FOUND, CREATING NEW ADMIN-USER ROOM...'); + log('❌ NO EXISTING ROOM FOUND, CREATING NEW DIRECT MESSAGE ROOM...'); // If no existing room found, create a new one with specific power levels final data = jsonEncode({ + "is_direct": true, "name": "Schuldaten Benachrichtigungen", "invite": [targetUserId], "preset": "private_chat", @@ -572,9 +565,9 @@ class MatrixRoomApiService { }, }); - log('Creating room with data: $data'); - log('Matrix URL: $_matrixUrl'); - log('API Options: ${_apiClient.matrixOptions.headers}'); + _log.info('Creating room with data: $data'); + _log.info('Matrix URL: $_matrixUrl'); + _log.info('API Options: ${_apiClient.matrixOptions.headers}'); final Response response = await _apiClient.post( '$_matrixUrl/_matrix/client/v3/createRoom', @@ -619,54 +612,101 @@ class MatrixRoomApiService { /// Finds an existing direct message room with a specific user /// Uses the m.direct account data which is the standard Matrix approach - Future<String?> _findExistingDirectMessageRoom(String targetUserId) async { - log('🔍 _findExistingDirectMessageRoom called for: $targetUserId'); + /// Checks both the sender's (admin's) and receiver's (target user's) account data + Future<String?> _findExistingDirectMessageRoom({ + required String targetUserId, + required String currentUserId, + }) async { + _log.info('🔍 _findExistingDirectMessageRoom called for: $targetUserId'); try { - // Get current user info - log('Getting current user info...'); - final Response whoamiResponse = await _apiClient.get( - '$_matrixUrl/_matrix/client/v3/account/whoami', - options: _apiClient.matrixOptions, + // First, check the admin's (sender's) m.direct account data + _log.info( + '🔍 Checking m.direct account data for existing direct message rooms...', + ); + final existingRoomId = await _checkDirectRoomsInAccountData( + targetUserId: targetUserId, + currentUserId: currentUserId, ); - if (whoamiResponse.statusCode != 200) { - log('Whoami failed, returning null'); - return null; + if (existingRoomId != null) { + _log.info( + '✅ Found existing room in admin\'s account data: $existingRoomId', + ); + return existingRoomId; } - final currentUserId = whoamiResponse.data['user_id'] as String; - log('Current user ID: $currentUserId'); + // If not found in admin's account data, check the receiver's (target user's) account data + _log.info( + '🔍 No room found in admin\'s account data, checking receiver\'s m.direct account data...', + ); + // final receiverRoomId = await _checkDirectRoomsInAccountData( + // targetUserId: + // targetUserId, // The target user's m.direct will have currentUserId as key + // currentUserId: currentUserId, + // ); + + // if (receiverRoomId != null) { + // _log.info( + // '✅ Found existing room in receiver\'s account data: $receiverRoomId', + // ); + // return receiverRoomId; + // } + + _log.info( + '❌ No existing direct message room found in either account - will create new one', + ); + return null; + } catch (e, stackTrace) { + _log.info('_findExistingDirectMessageRoom error: $e'); + _log.info('_findExistingDirectMessageRoom stackTrace: $stackTrace'); + // If we can't find existing rooms, we'll create a new one + return null; + } + } - // Simple approach: Check if we have any existing direct message rooms with this user - // If we do, we'll use the first one (assuming it's the "Schuldaten Benachrichtigungen" room) - log('🔍 Checking for existing direct message rooms with target user...'); + /// Checks m.direct account data for a specific user and validates existing rooms + /// [userId] - The user whose account data to check + /// [targetUserId] - The user ID to look for in the m.direct data (the other participant) + /// [currentUserId] - The current admin user ID for validation + Future<String?> _checkDirectRoomsInAccountData({ + required String targetUserId, + required String currentUserId, + }) async { + try { + _log.info('🔍 Checking m.direct account data for user: $currentUserId'); final Response accountDataResponse = await _apiClient.get( '$_matrixUrl/_matrix/client/v3/user/$currentUserId/account_data/m.direct', options: _apiClient.matrixOptions, ); - log('📊 m.direct response status: ${accountDataResponse.statusCode}'); - log('📊 m.direct response data: ${accountDataResponse.data}'); + _log.info( + '📊 m.direct response status: ${accountDataResponse.statusCode}', + ); + _log.info('📊 m.direct response data: ${accountDataResponse.data}'); if (accountDataResponse.statusCode == 200) { final directRooms = accountDataResponse.data as Map<String, dynamic>; - log('📊 All direct rooms: ${directRooms.keys.toList()}'); - log('📊 Looking for target user: $targetUserId'); + _log.info('📊 All direct rooms: ${directRooms.keys.toList()}'); + _log.info('📊 Looking for target user: $targetUserId'); if (directRooms.containsKey(targetUserId)) { final roomIds = directRooms[targetUserId] as List<dynamic>; - log( + _log.info( 'Found ${roomIds.length} direct message rooms with target user: $roomIds', ); // Try all existing rooms until we find one we can access if (roomIds.isNotEmpty) { - log('🔍 Trying ${roomIds.length} existing direct message rooms...'); + _log.info( + '🔍 Trying ${roomIds.length} existing direct message rooms...', + ); for (int i = 0; i < roomIds.length; i++) { final String existingRoomId = roomIds[i] as String; - log('🔍 Trying room ${i + 1}/${roomIds.length}: $existingRoomId'); + _log.info( + '🔍 Trying room ${i + 1}/${roomIds.length}: $existingRoomId', + ); // Quick verification: check if we can still access this room try { @@ -685,7 +725,7 @@ class MatrixRoomApiService { .map((member) => member['state_key'] as String) .toList(); - log( + _log.info( '✅ Room $existingRoomId has ${joinedMembers.length} joined members: $joinedMembers', ); @@ -694,7 +734,9 @@ class MatrixRoomApiService { joinedMembers.contains(currentUserId) && joinedMembers.contains(targetUserId)) { // Check if this room has the correct power levels for admin-only messaging - log('🔍 Checking power levels for room: $existingRoomId'); + _log.info( + '🔍 Checking power levels for room: $existingRoomId', + ); final powerLevelsValid = await _checkRoomPowerLevels( existingRoomId, currentUserId, @@ -702,93 +744,111 @@ class MatrixRoomApiService { ); if (powerLevelsValid) { - log( + _log.info( '🎯 Found valid 2-person room with correct power levels: $existingRoomId', ); return existingRoomId; } else { - log( + _log.info( '⚠️ Room $existingRoomId has incorrect power levels (user can write), trying next...', ); } } else { - log( + _log.info( '⚠️ Room $existingRoomId is not a valid 2-person room, trying next...', ); } } else { - log( - '❌ Cannot access room $existingRoomId (status: ${membersResponse.statusCode}), trying next...', + _log.info( + '❌ Cannot access room $existingRoomId (status: ${membersResponse.statusCode}), leaving room...', + ); + // Leave the room if we can't access it + await _apiClient.delete( + '$_matrixUrl/_matrix/client/v3/rooms/$existingRoomId', + options: _apiClient.matrixOptions, ); + _log.info('Room left successfully'); } } catch (e) { - log( + _log.info( '❌ Error checking room $existingRoomId: $e, trying next...', ); } } - log( + _log.info( '❌ None of the ${roomIds.length} existing rooms are accessible or valid', ); } } else { - log( + _log.info( '❌ No direct message rooms found with target user: $targetUserId', ); } } else { - log( - '❌ Failed to get m.direct account data: ${accountDataResponse.statusCode}', + _log.info( + '❌ Failed to get m.direct account data for user $currentUserId: ${accountDataResponse.statusCode}', ); } - log('❌ No existing direct message room found - will create new one'); return null; } catch (e, stackTrace) { - log('_findExistingDirectMessageRoom error: $e'); - log('_findExistingDirectMessageRoom stackTrace: $stackTrace'); - // If we can't find existing rooms, we'll create a new one + _log.info( + '_checkDirectRoomsInAccountData error for user $currentUserId: $e', + ); + _log.info('_checkDirectRoomsInAccountData stackTrace: $stackTrace'); return null; } } /// Sends a direct text message to a user (creates room if needed) - Future<Map<String, String>> sendDirectTextMessage({ - required String targetUserId, - required String text, - String? transactionId, - }) async { - log('MatrixRoomApiService.sendDirectTextMessage called'); - log('targetUserId: $targetUserId'); - log('text: $text'); - log('transactionId: $transactionId'); - - try { - final message = MatrixTextMessage(body: text); - log('Created MatrixTextMessage: ${message.toJson()}'); - log('Message msgtype: ${message.msgtype}'); - log('Message body: ${message.body}'); - - final result = await sendDirectMessage( - targetUserId: targetUserId, - message: message, - transactionId: transactionId, - ); - - log('MatrixRoomApiService.sendDirectTextMessage result: $result'); - return result; - } catch (e, stackTrace) { - log('MatrixRoomApiService.sendDirectTextMessage error: $e'); - log('MatrixRoomApiService.sendDirectTextMessage stackTrace: $stackTrace'); - rethrow; - } - } + // Future<Map<String, String>> sendDirectTextMessage({ + // required String targetUserId, + // required String text, + // String? transactionId, + // }) async { + // _log.info('MatrixRoomApiService.sendDirectTextMessage called'); + // _log.info('targetUserId: $targetUserId'); + // _log.info('text: $text'); + // _log.info('transactionId: $transactionId'); + + // try { + // final message = MatrixTextMessage(body: text); + // _log.info('Created MatrixTextMessage: ${message.toJson()}'); + // _log.info('Message msgtype: ${message.msgtype}'); + // _log.info('Message body: ${message.body}'); + + // final result = await sendDirectMessage( + // targetUserId: targetUserId, + // message: message, + // transactionId: transactionId, + // ); + + // _log.info('MatrixRoomApiService.sendDirectTextMessage result: $result'); + // return result; + // } catch (e, stackTrace) { + // _log.info('MatrixRoomApiService.sendDirectTextMessage error: $e'); + // _log.info( + // 'MatrixRoomApiService.sendDirectTextMessage stackTrace: $stackTrace', + // ); + // rethrow; + // } + // } /// Gets or creates a direct message room with a specific user /// Returns the room ID whether it's existing or newly created - Future<String> getOrCreateDirectMessageRoom(String targetUserId) async { - return await _createDirectMessageRoom(targetUserId); + /// Also ensures the admin is in the room before returning + Future<String> findOrCreateDirectMessageRoom({ + required String targetUserId, + required String currentUserId, + }) async { + final roomId = await _findOrcreateDirectMessageRoom( + targetUserId: targetUserId, + currentUserId: currentUserId, + ); + // Ensure admin is in the room (important when using existing rooms) + await _ensureAdminInRoom(roomId); + return roomId; } /// Invites a user to an existing room @@ -833,7 +893,7 @@ class MatrixRoomApiService { String targetUserId, ) async { try { - log('Checking power levels for room: $roomId'); + _log.info('Checking power levels for room: $roomId'); final Response response = await _apiClient.get( '$_matrixUrl/_matrix/client/v3/rooms/$roomId/state/m.room.power_levels', @@ -847,7 +907,7 @@ class MatrixRoomApiService { final adminPowerLevel = users[adminUserId] as int? ?? 0; final userPowerLevel = users[targetUserId] as int? ?? 0; - log( + _log.info( 'Admin power level: $adminPowerLevel, User power level: $userPowerLevel', ); @@ -855,22 +915,22 @@ class MatrixRoomApiService { final isValid = adminPowerLevel >= 50 && userPowerLevel == 0; if (isValid) { - log('Power levels are correct for admin-user communication'); + _log.info('Power levels are correct for admin-user communication'); } else { - log( + _log.info( 'Power levels are incorrect - admin: $adminPowerLevel, user: $userPowerLevel', ); } return isValid; } else { - log( + _log.info( 'Failed to get power levels for room $roomId: ${response.statusCode}', ); return false; } } catch (e) { - log('Error checking power levels for room $roomId: $e'); + _log.info('Error checking power levels for room $roomId: $e'); return false; } } @@ -896,7 +956,7 @@ class MatrixRoomApiService { Map<String, dynamic> directRooms = {}; if (getResponse.statusCode == 200) { directRooms = Map<String, dynamic>.from(getResponse.data ?? {}); - log('📊 Current m.direct data: $directRooms'); + _log.info('📊 Current m.direct data: $directRooms'); } // Add this room to the direct chat list for the target user @@ -907,14 +967,16 @@ class MatrixRoomApiService { if (!existingRooms.contains(roomId)) { existingRooms.add(roomId); directRooms[targetUserId] = existingRooms; - log('📊 Added room to existing direct chat list for $targetUserId'); + _log.info( + '📊 Added room to existing direct chat list for $targetUserId', + ); } else { - log('📊 Room already in direct chat list for $targetUserId'); + _log.info('📊 Room already in direct chat list for $targetUserId'); return; } } else { directRooms[targetUserId] = [roomId]; - log('📊 Created new direct chat entry for $targetUserId'); + _log.info('📊 Created new direct chat entry for $targetUserId'); } // Update m.direct account data @@ -925,17 +987,17 @@ class MatrixRoomApiService { ); if (putResponse.statusCode == 200) { - log( + _log.info( '✅ Successfully marked room $roomId as direct chat with $targetUserId', ); } else { - log( + _log.info( '❌ Failed to mark room as direct chat: ${putResponse.statusCode} - ${putResponse.data}', ); } } } catch (e) { - log('❌ Error marking room as direct chat: $e'); + _log.info('❌ Error marking room as direct chat: $e'); } } @@ -962,36 +1024,38 @@ class MatrixRoomApiService { if (accountDataResponse.statusCode == 200) { final directRooms = accountDataResponse.data as Map<String, dynamic>; - log('📊 Current m.direct data: $directRooms'); + _log.info('📊 Current m.direct data: $directRooms'); if (directRooms.containsKey(targetUserId)) { final roomIds = directRooms[targetUserId] as List<dynamic>; if (roomIds.contains(roomId)) { - log('✅ Room $roomId IS marked as direct chat with $targetUserId'); + _log.info( + '✅ Room $roomId IS marked as direct chat with $targetUserId', + ); } else { - log( + _log.info( '❌ Room $roomId is NOT marked as direct chat with $targetUserId', ); - log('📊 Direct chat rooms with $targetUserId: $roomIds'); + _log.info('📊 Direct chat rooms with $targetUserId: $roomIds'); } } else { - log('❌ No direct chat rooms found with $targetUserId'); + _log.info('❌ No direct chat rooms found with $targetUserId'); } } else { - log( + _log.info( '❌ Failed to get m.direct data: ${accountDataResponse.statusCode}', ); } } } catch (e) { - log('❌ Error checking if room is marked as direct chat: $e'); + _log.info('❌ Error checking if room is marked as direct chat: $e'); } } /// Ensures the admin account is in the room before sending messages /// This prevents 403 Forbidden errors when trying to send to existing rooms Future<void> _ensureAdminInRoom(String roomId) async { - log('_ensureAdminInRoom called for room: $roomId'); + _log.info('_ensureAdminInRoom called for room: $roomId'); try { // Get current user info @@ -1001,12 +1065,14 @@ class MatrixRoomApiService { ); if (whoamiResponse.statusCode != 200) { - log('Failed to get current user info: ${whoamiResponse.statusCode}'); + _log.info( + 'Failed to get current user info: ${whoamiResponse.statusCode}', + ); return; } final currentUserId = whoamiResponse.data['user_id'] as String; - log('Current admin user: $currentUserId'); + _log.info('Current admin user: $currentUserId'); // Check if the admin is already in the room final Response membersResponse = await _apiClient.get( @@ -1023,30 +1089,30 @@ class MatrixRoomApiService { ); if (isAdminInRoom) { - log('Admin is already in room: $roomId'); + _log.info('Admin is already in room: $roomId'); return; } } // If admin is not in the room, try to join it - log('Admin not in room, attempting to join...'); + _log.info('Admin not in room, attempting to join...'); final Response joinResponse = await _apiClient.post( '$_matrixUrl/_matrix/client/v3/rooms/$roomId/join', options: _apiClient.matrixOptions, ); if (joinResponse.statusCode == 200) { - log('Successfully joined room: $roomId'); + _log.info('Successfully joined room: $roomId'); } else { - log( + _log.info( 'Failed to join room: ${joinResponse.statusCode} - ${joinResponse.data}', ); // Don't throw here, let the message sending attempt proceed // The error will be caught when trying to send the message } } catch (e, stackTrace) { - log('_ensureAdminInRoom error: $e'); - log('_ensureAdminInRoom stackTrace: $stackTrace'); + _log.info('_ensureAdminInRoom error: $e'); + _log.info('_ensureAdminInRoom stackTrace: $stackTrace'); // Don't throw here, let the message sending attempt proceed } } diff --git a/school_data_hub_flutter/lib/features/matrix/services/matrix_bulk_credentials_service.dart b/school_data_hub_flutter/lib/features/matrix/services/matrix_bulk_credentials_service.dart index 8a27e003..691ce46c 100644 --- a/school_data_hub_flutter/lib/features/matrix/services/matrix_bulk_credentials_service.dart +++ b/school_data_hub_flutter/lib/features/matrix/services/matrix_bulk_credentials_service.dart @@ -4,7 +4,7 @@ import 'package:flutter/services.dart' show rootBundle; import 'package:logging/logging.dart'; import 'package:pdf/widgets.dart' as pw; import 'package:school_data_hub_flutter/app_utils/custom_encrypter.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/features/matrix/domain/matrix_policy_manager.dart'; import 'package:school_data_hub_flutter/features/matrix/domain/models/matrix_user.dart'; import 'package:watch_it/watch_it.dart'; @@ -106,8 +106,8 @@ class MatrixBulkCredentialsService { // Calculate how many pages we need final int credentialsPerPage = 18; - final int totalPages = - (userCredentials.length / credentialsPerPage).ceil(); + final int totalPages = (userCredentials.length / credentialsPerPage) + .ceil(); _log.info( 'Creating $totalPages pages with $credentialsPerPage credentials per page', @@ -132,15 +132,14 @@ class MatrixBulkCredentialsService { horizontal: 15, vertical: 10, ), // Reduced horizontal margins for bigger cards - build: - (pw.Context context) => _buildCredentialsPage( - image: image, - pageCredentials: pageCredentials, - domain: domain, - isStaff: isStaff, - pageNumber: pageIndex + 1, - totalPages: totalPages, - ), + build: (pw.Context context) => _buildCredentialsPage( + image: image, + pageCredentials: pageCredentials, + domain: domain, + isStaff: isStaff, + pageNumber: pageIndex + 1, + totalPages: totalPages, + ), ), ); } @@ -352,7 +351,7 @@ class MatrixBulkCredentialsService { // Creation date inside the card pw.Center( child: pw.Text( - 'Erstellt: ${DateTime.now().formatForUser()}', + 'Erstellt: ${DateTime.now().formatDateForUser()}', style: const pw.TextStyle(fontSize: 9), ), ), diff --git a/school_data_hub_flutter/lib/features/matrix/services/matrix_credentials_pdf_generator.dart b/school_data_hub_flutter/lib/features/matrix/services/matrix_credentials_pdf_generator.dart index ecc017fb..85a39a95 100644 --- a/school_data_hub_flutter/lib/features/matrix/services/matrix_credentials_pdf_generator.dart +++ b/school_data_hub_flutter/lib/features/matrix/services/matrix_credentials_pdf_generator.dart @@ -4,7 +4,7 @@ import 'package:flutter/services.dart' show rootBundle; import 'package:logging/logging.dart'; import 'package:pdf/widgets.dart' as pw; import 'package:school_data_hub_flutter/app_utils/custom_encrypter.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/features/matrix/domain/models/matrix_user.dart'; final _log = Logger('MatrixCredentialsPrinter'); @@ -45,111 +45,109 @@ class MatrixCredentialsPrinter { pdf.addPage( pw.Page( - build: - (pw.Context context) => pw.Center( - child: pw.Row( - mainAxisAlignment: pw.MainAxisAlignment.start, - children: [ - pw.Expanded( - child: pw.Column( - crossAxisAlignment: pw.CrossAxisAlignment.start, + build: (pw.Context context) => pw.Center( + child: pw.Row( + mainAxisAlignment: pw.MainAxisAlignment.start, + children: [ + pw.Expanded( + child: pw.Column( + crossAxisAlignment: pw.CrossAxisAlignment.start, + children: [ + pw.Row( + mainAxisAlignment: pw.MainAxisAlignment.start, children: [ - pw.Row( + pw.Image(image, width: 40, height: 40), + // pw.SizedBox(width: 10), + pw.Column( mainAxisAlignment: pw.MainAxisAlignment.start, children: [ - pw.Image(image, width: 40, height: 40), - // pw.SizedBox(width: 10), - pw.Column( - mainAxisAlignment: pw.MainAxisAlignment.start, - children: [ - pw.Text( - 'Hermannpost', - style: pw.TextStyle( - fontSize: 20, - fontWeight: pw.FontWeight.bold, - ), - ), - pw.Text( - 'Zugangsdaten - gut aufbewahren!', - style: pw.TextStyle( - fontSize: 8, - fontWeight: pw.FontWeight.bold, - ), - ), - ], + pw.Text( + 'Hermannpost', + style: pw.TextStyle( + fontSize: 20, + fontWeight: pw.FontWeight.bold, + ), + ), + pw.Text( + 'Zugangsdaten - gut aufbewahren!', + style: pw.TextStyle( + fontSize: 8, + fontWeight: pw.FontWeight.bold, + ), ), ], ), - pw.SizedBox(height: 5), - pw.Text( - matrixUser.displayName, - style: pw.TextStyle( - fontSize: 16, - fontWeight: pw.FontWeight.bold, - ), + ], + ), + pw.SizedBox(height: 5), + pw.Text( + matrixUser.displayName, + style: pw.TextStyle( + fontSize: 16, + fontWeight: pw.FontWeight.bold, + ), + ), + pw.SizedBox(height: 5), + pw.Row( + crossAxisAlignment: pw.CrossAxisAlignment.start, + children: [ + pw.BarcodeWidget( + data: encryptedQrCodeData, + width: 60, + height: 60, + barcode: pw.Barcode.qrCode(), + drawText: false, ), - pw.SizedBox(height: 5), - pw.Row( + pw.SizedBox(width: 10), + pw.Column( crossAxisAlignment: pw.CrossAxisAlignment.start, + mainAxisAlignment: pw.MainAxisAlignment.spaceAround, children: [ - pw.BarcodeWidget( - data: encryptedQrCodeData, - width: 60, - height: 60, - barcode: pw.Barcode.qrCode(), - drawText: false, + pw.Text( + 'PIN: $pin', + style: pw.TextStyle( + fontSize: 14, + fontWeight: pw.FontWeight.bold, + ), ), - pw.SizedBox(width: 10), - pw.Column( - crossAxisAlignment: pw.CrossAxisAlignment.start, - mainAxisAlignment: - pw.MainAxisAlignment.spaceAround, - children: [ - pw.Text( - 'PIN: $pin', - style: pw.TextStyle( - fontSize: 14, - fontWeight: pw.FontWeight.bold, - ), - ), - pw.SizedBox(height: 32), - pw.Text( - 'Erstellt am ${DateTime.now().formatForUser()}', - style: const pw.TextStyle(fontSize: 9), - ), - ], + pw.SizedBox(height: 32), + pw.Text( + 'Erstellt am ${DateTime.now().formatDateForUser()}', + style: const pw.TextStyle(fontSize: 9), ), ], ), - if (isStaff) ...[ - pw.SizedBox(height: 10), - pw.Row( - children: [ - pw.Text( - 'Passwort:', - style: pw.TextStyle( - fontSize: 12, - fontWeight: pw.FontWeight.bold, - ), - ), - pw.SizedBox(width: 5), - pw.Text( - password, - style: pw.TextStyle( - fontSize: 12, - fontWeight: pw.FontWeight.bold, - ), - ), - ], - ), - ], ], ), - ), - pw.Expanded(child: pw.Column(children: [])), - ], + if (isStaff) ...[ + pw.SizedBox(height: 10), + pw.Row( + children: [ + pw.Text( + 'Passwort:', + style: pw.TextStyle( + fontSize: 12, + fontWeight: pw.FontWeight.bold, + ), + ), + pw.SizedBox(width: 5), + pw.Text( + password, + style: pw.TextStyle( + fontSize: 12, + fontWeight: pw.FontWeight.bold, + ), + ), + ], + ), + ], + ], + ), ), - ), + pw.Expanded(child: pw.Column(children: [])), + ], + ), + ), ), ); diff --git a/school_data_hub_server/lib/server.dart b/school_data_hub_server/lib/server.dart index 871549cd..d9846191 100644 --- a/school_data_hub_server/lib/server.dart +++ b/school_data_hub_server/lib/server.dart @@ -5,6 +5,7 @@ import 'package:logging/logging.dart'; import 'package:path/path.dart' as p; import 'package:school_data_hub_server/src/future_calls/database_backup_future_call.dart'; import 'package:school_data_hub_server/src/future_calls/increase_credit_future_call.dart'; +import 'package:school_data_hub_server/src/generated/protocol.dart'; import 'package:school_data_hub_server/src/helpers/create_local_storage_directories.dart'; import 'package:school_data_hub_server/src/helpers/populate_test_environment.dart'; import 'package:school_data_hub_server/src/utils/local_storage.dart'; @@ -15,7 +16,6 @@ import 'package:serverpod/serverpod.dart'; import 'package:serverpod_auth_server/serverpod_auth_server.dart' as auth; import 'src/generated/endpoints.dart'; -import 'src/generated/protocol.dart'; // This is the starting point of your Serverpod server. In most cases, you will // only need to make additions to this file if you add future calls, are @@ -57,7 +57,14 @@ void run(List<String> args) async { Endpoints(), authenticationHandler: auth.authenticationHandler, ); - + pod.loadCustomPasswords([ + (envName: 'MATRIX_SERVER_URL', alias: 'matrixServerUrl'), + (envName: 'MATRIX_AUTH_TOKEN', alias: 'matrixAuthToken'), + (envName: 'SERVERPOD_MAIL_USERNAME', alias: 'emailUsername'), + (envName: 'SERVERPOD_MAIL_PASSWORD', alias: 'emailPassword'), + (envName: 'SERVERPOD_MAIL_SMTP_HOST', alias: 'emailSmtpHost'), + (envName: 'SERVERPOD_MAIL_ADMIN', alias: 'emailAdmin'), + ]); // Configure storage with environment-aware paths String storageBasePath; @@ -103,9 +110,11 @@ void run(List<String> args) async { var session = await pod.createSession(); // Initialize MailerService from environment variables if available - final mailUsername = Platform.environment['SERVERPOD_MAIL_USERNAME']; - final mailPassword = Platform.environment['SERVERPOD_MAIL_PASSWORD']; - final mailSmtpHost = Platform.environment['SERVERPOD_MAIL_SMTP_HOST']; + final mailUsername = Serverpod.instance.getPassword('emailUsername'); + final mailPassword = Serverpod.instance.getPassword('emailPassword'); + final mailSmtpHost = Serverpod.instance.getPassword('emailSmtpHost'); + + bool mailerInitialized = false; if (mailUsername != null && mailPassword != null && @@ -122,18 +131,29 @@ void run(List<String> args) async { fromName: 'Schuldaten Benachrichtigungen', defaultRecipient: '', ); + mailerInitialized = true; _logger.info( 'MailerService initialized successfully from environment variables'); } catch (e) { _logger.severe('Failed to initialize MailerService: $e'); } - } else { - _logger.warning( - 'Mail configuration not found in environment variables. Email functionality will not be available.'); + } + + // Try to initialize from session passwords as fallback + if (!mailerInitialized) { + final initialized = MailerService.instance.initializeFromSession(session); + if (initialized) { + mailerInitialized = true; + _logger.info( + 'MailerService initialized successfully from session passwords'); + } else { + _logger.warning( + 'Mail configuration not found in session passwords. Email functionality will not be available.'); + } } // Check if there are any users in the database. If not, we need to populate the test environment. - final userCount = await auth.UserInfo.db.count(session); + final userCount = await session.db.count<User>(); _logger.info('Current user count in database: $userCount'); final adminUser = await auth.UserInfo.db.findFirstRow( @@ -164,19 +184,25 @@ void run(List<String> args) async { // Send startup notification email try { - // MailerService.instance.initializeFromSession(session); - final success = await MailerService.instance.sendNotification( - recipient: Platform.environment['SERVERPOD_MAIL_ADMIN']!, - subject: 'Server Started', - message: 'School Data Hub Server has started successfully.\n\n' - 'Timestamp: ${DateTime.now().toIso8601String()}\n' - 'User count: $userCount', - ); - - if (success) { - _logger.info('Startup notification email sent successfully'); + final emailAdmin = Serverpod.instance.getPassword('emailAdmin'); + if (emailAdmin != null && emailAdmin.isNotEmpty) { + final success = await MailerService.instance.sendNotification( + recipient: emailAdmin, + subject: 'Server Started', + message: 'School Data Hub Server has started successfully.\n\n' + 'Timestamp: ${DateTime.now().toIso8601String()}\n' + 'User count: $userCount', + ); + + if (success) { + _logger.info('Startup notification email sent successfully'); + } else { + _logger.warning( + 'Failed to send startup notification email (service may not be initialized)'); + } } else { - _logger.severe('Failed to send startup notification email'); + _logger.info( + 'Email admin address not configured, skipping startup notification'); } } catch (e) { _logger.severe('Error sending startup notification email: $e'); diff --git a/school_data_hub_server/lib/src/utils/mailer.dart b/school_data_hub_server/lib/src/utils/mailer.dart index b318fab7..ff0f198d 100644 --- a/school_data_hub_server/lib/src/utils/mailer.dart +++ b/school_data_hub_server/lib/src/utils/mailer.dart @@ -13,6 +13,7 @@ class MailerService { MailerService._internal(); final _logger = Logger('MailerService'); + bool _isInitialized = false; late final String _username; late final String _password; late final String _smtpHost; @@ -35,20 +36,32 @@ class MailerService { _smtpPort = smtpPort; _fromName = fromName; _defaultRecipient = defaultRecipient; + _isInitialized = true; } /// Initialize from Serverpod session (recommended approach) - void initializeFromSession(Session session) { + /// Returns true if initialization was successful, false otherwise + bool initializeFromSession(Session session) { final passwords = session.passwords; + final username = passwords['emailUsername'] ?? ''; + final password = passwords['emailPassword'] ?? ''; + final smtpHost = passwords['emailSmtpHost'] ?? ''; + + // Validate that required fields are present + if (username.isEmpty || password.isEmpty || smtpHost.isEmpty) { + return false; + } + initialize( - username: passwords['emailUsername'] ?? '', - password: passwords['emailPassword'] ?? '', - smtpHost: passwords['emailSmtpHost'] ?? '', + username: username, + password: password, + smtpHost: smtpHost, smtpPort: int.tryParse(passwords['emailSmtpPort'] ?? '0') ?? 587, fromName: 'Schuldaten Benachrichtigungen', defaultRecipient: '', ); + return true; } /// Send an email with the specified parameters @@ -61,6 +74,13 @@ class MailerService { List<String>? bccRecipients, List<Attachment>? attachments, }) async { + if (!_isInitialized) { + _logger.severe( + 'MailerService has not been initialized. Call initialize() or initializeFromSession() first.', + ); + return false; + } + try { final smtpServer = SmtpServer( _smtpHost, diff --git a/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_client.dart b/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_client.dart new file mode 100644 index 00000000..2d720839 --- /dev/null +++ b/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_client.dart @@ -0,0 +1,46 @@ +import 'package:http/http.dart' as http; +import 'package:logging/logging.dart'; +import 'package:serverpod/serverpod.dart'; + +typedef MatrixResponse = http.Response; + +class MatrixClient { + MatrixClient() : _httpClient = http.Client(); + + final http.Client _httpClient; + final _matrixUrl = Serverpod.instance.getPassword('matrixServerUrl'); + final _authToken = Serverpod.instance.getPassword('matrixAuthToken'); + + final _log = Logger('MatrixClient'); + + /// HTTP headers used for all Matrix API requests + Map<String, String> get headers => { + 'Authorization': 'Bearer $_authToken', + 'Content-Type': 'application/json', + }; + + Future<MatrixResponse> get(String endpoint) async { + final uri = Uri.parse('$_matrixUrl$endpoint'); + return await _httpClient.get(uri, headers: headers); + } + + Future<MatrixResponse> post(String endpoint, String body) async { + final uri = Uri.parse('$_matrixUrl$endpoint'); + return await _httpClient.post(uri, headers: headers, body: body); + } + + Future<MatrixResponse> put(String endpoint, String body) async { + final uri = Uri.parse('$_matrixUrl$endpoint'); + return await _httpClient.put(uri, headers: headers, body: body); + } + + Future<MatrixResponse> delete(String endpoint) async { + final uri = Uri.parse('$_matrixUrl$endpoint'); + return await _httpClient.delete(uri, headers: headers); + } + + // Clean up when done (call on app shutdown) + void dispose() { + _httpClient.close(); + } +} diff --git a/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_helper.dart b/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_helper.dart new file mode 100644 index 00000000..6374908c --- /dev/null +++ b/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_helper.dart @@ -0,0 +1,20 @@ +class MatrixHelper { + /// Generates a unique transaction ID for message deduplication + static String generateTransactionId() { + return DateTime.now().millisecondsSinceEpoch.toString(); + } + + /// URL encodes a Matrix room ID for API calls + static String encodeRoomId(String roomId) { + return roomId.replaceAllMapped(RegExp(r'[!:]'), (match) { + switch (match.group(0)) { + case '!': + return '%21'; + case ':': + return '%3A'; + default: + return match.group(0)!; + } + }); + } +} diff --git a/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_models.dart b/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_models.dart new file mode 100644 index 00000000..631d0174 --- /dev/null +++ b/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_models.dart @@ -0,0 +1,29 @@ +class MatrixMessage { + final String msgtype; + final String body; + final String? format; + final String? formattedBody; + + const MatrixMessage({ + required this.msgtype, + required this.body, + this.format, + this.formattedBody, + }); + + factory MatrixMessage.fromJson(Map<String, dynamic> json) => MatrixMessage( + msgtype: json['msgtype'] as String, + body: json['body'] as String, + format: json['format'] as String?, + formattedBody: json['formatted_body'] as String?, + ); +} + +class MatrixMessageResponse { + final String eventId; + + MatrixMessageResponse({required this.eventId}); + factory MatrixMessageResponse.fromJson(Map<String, dynamic> json) { + return MatrixMessageResponse(eventId: json['event_id'] as String); + } +} diff --git a/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_notifications.dart b/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_notifications.dart new file mode 100644 index 00000000..09d7a471 --- /dev/null +++ b/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_notifications.dart @@ -0,0 +1,485 @@ +import 'dart:convert'; + +import 'package:logging/logging.dart'; +import 'package:school_data_hub_server/src/generated/protocol.dart'; +import 'package:school_data_hub_server/src/utils/matrix_notifications/matrix_client.dart'; +import 'package:school_data_hub_server/src/utils/matrix_notifications/matrix_helper.dart'; +import 'package:school_data_hub_server/src/utils/matrix_notifications/matrix_models.dart'; +import 'package:serverpod/serverpod.dart'; +import 'package:serverpod_auth_server/serverpod_auth_server.dart'; + +class MatrixNotifications { + MatrixNotifications(); + + final _currentUserId = '@schuldaten-hub:hermannschule.de'; + final MatrixClient _matrixClient = MatrixClient(); + final _log = Logger('MatrixNotifications'); + + //- SEND MESSAGE + + /// Sends a message to a Matrix room using the notifications account + Future<MatrixMessageResponse> sendMessage({ + required MatrixMessage message, + required String roomId, + }) async { + try { + final transactionId = MatrixHelper.generateTransactionId(); + final encodedRoomId = MatrixHelper.encodeRoomId(roomId); + final encodedTransactionId = Uri.encodeComponent(transactionId); + final endpoint = + '/_matrix/client/v3/rooms/$encodedRoomId/send/m.room.message/$encodedTransactionId'; + + final messageData = <String, dynamic>{ + 'msgtype': message.msgtype, + 'body': message.body, + }; + + // Add formatted body if format and formattedBody are provided + if (message.format != null && message.formattedBody != null) { + messageData['format'] = message.format; + messageData['formatted_body'] = message.formattedBody; + } + + final response = + await _matrixClient.put(endpoint, jsonEncode(messageData)); + + if (response.statusCode != 200) { + throw Exception( + 'Failed to send message: ${response.statusCode} - ${response.body}', + ); + } + + return MatrixMessageResponse.fromJson(jsonDecode(response.body)); + } catch (e, stackTrace) { + _log.severe('Failed to send message', e, stackTrace); + rethrow; + } + } + + /// Sends a direct text message to multiple recipients with HTML formatting + /// Finds recipients by matching tutor username or scope names containing team name character + Future<void> sendDirectTextMessage({ + required Session session, + required List<String> recipients, + required String text, + String? html, + }) async { + if (recipients.isEmpty) { + _log.warning('No recipients provided, skipping notification'); + return; + } + + _log.info('Sending direct text message to ${recipients.length} recipients'); + + for (final recipient in recipients) { + try { + await _sendDirectTextMessageToSingleUser( + targetUserId: recipient, + text: text, + html: html, + ); + _log.info('Successfully sent message to $recipient'); + } catch (e, stackTrace) { + _log.severe( + 'Failed to send message to $recipient', + e, + stackTrace, + ); + // Continue sending to other recipients even if one fails + } + } + } + + /// Finds notification recipients based on tutor and team name from pupil name + /// Returns list of Matrix user IDs (usernames) that should receive notifications + Future<List<String>> findNotificationRecipients({ + required Session session, + required String pupilNameAndGroup, + required String tutor, + }) async { + // Extract the group name from the pupilNameAndGroup string + // that is everything between the first and last parenthesis + final schooldayEventManagementTeamName = + pupilNameAndGroup.split('(')[1].split(')')[0].substring(0, 1); + + // Fetch all users with their UserInfo, then filter in memory + // because Serverpod's query builder doesn't support .any() on list fields + final allUsers = await User.db + .find(session, include: User.include(userInfo: UserInfo.include())); + + final notificationRecipients = allUsers.where((user) { + // Check if user is the tutor + if (user.userInfo?.userName == tutor) { + return true; + } + // Check if any scope name contains the team name character + final scopeNames = user.userInfo?.scopeNames ?? []; + return scopeNames.any((scope) => + scope.contains('SchooldayEventsManagement.') && + scope.split('.').last.contains(schooldayEventManagementTeamName)); + }).toList(); + + // Convert to list of user names (Matrix user IDs) + return notificationRecipients + .map((user) => user.matrixUserId!) + .whereType<String>() + .toList(); + } + + /// Internal method to send a direct text message to a single user + Future<MatrixMessageResponse> _sendDirectTextMessageToSingleUser({ + required String targetUserId, + required String text, + String? html, + }) async { + try { + _log.info('Sending direct text message to $targetUserId'); + + final roomId = await _findOrCreateDirectMessageRoom( + targetUserId: targetUserId, + currentUserId: _currentUserId, + ); + + _log.info('Using room ID: $roomId'); + + final response = await sendMessage( + message: MatrixMessage( + msgtype: 'm.text', + body: text, // Plain text fallback + format: html != null ? 'org.matrix.custom.html' : null, + formattedBody: html, + ), + roomId: roomId, + ); + + _log.info('Message sent successfully with event ID: ${response.eventId}'); + return response; + } catch (e, stackTrace) { + _log.severe('Failed to send direct text message', e, stackTrace); + rethrow; + } + } + + //- ROOM MANAGEMENT + + /// Finds or creates a direct message room with a specific user + Future<String> _findOrCreateDirectMessageRoom({ + required String targetUserId, + required String currentUserId, + }) async { + try { + _log.info('Finding or creating direct message room for: $targetUserId'); + + final existingRoomId = await _findExistingDirectMessageRoom( + targetUserId: targetUserId, + currentUserId: currentUserId, + ); + + if (existingRoomId != null) { + _log.info('Found existing room: $existingRoomId'); + return existingRoomId; + } + + _log.info('No existing room found, creating new direct message room'); + return await _createDirectMessageRoom( + targetUserId: targetUserId, + currentUserId: currentUserId, + ); + } catch (e, stackTrace) { + _log.severe( + 'Failed to find or create direct message room', e, stackTrace); + rethrow; + } + } + + /// Creates a new direct message room with specific power levels + Future<String> _createDirectMessageRoom({ + required String targetUserId, + required String currentUserId, + }) async { + try { + final roomData = { + 'is_direct': true, + 'name': 'Schuldaten Benachrichtigungen', + 'invite': [targetUserId], + 'preset': 'trusted_private_chat', + 'creation_content': {'m.federate': false}, + 'initial_state': [ + { + 'type': 'm.room.encryption', + 'content': { + 'algorithm': 'm.megolm.v1.aes-sha2', + }, + }, + ], + 'power_level_content_override': { + 'users': { + currentUserId: 100, // Admin has full permissions + targetUserId: 0, // User has read-only permissions + }, + 'events': { + 'm.room.name': 100, + 'm.room.power_levels': 100, + 'm.room.history_visibility': 100, + 'm.room.canonical_alias': 50, + 'm.room.avatar': 50, + 'm.room.tombstone': 100, + 'm.room.server_acl': 100, + 'm.room.encryption': 100, + 'm.space.child': 50, + 'm.room.topic': 50, + 'm.room.pinned_events': 50, + 'm.reaction': 0, + 'm.room.redaction': 0, + 'org.matrix.msc3401.call': 50, + 'org.matrix.msc3401.call.member': 50, + 'im.vector.modular.widgets': 50, + 'io.element.voice_broadcast_info': 50, + }, + 'events_default': 50, + 'invite': 50, + 'kick': 50, + 'notifications': {'room': 20}, + 'redact': 50, + 'state_default': 50, + 'users_default': 0, + }, + }; + + final response = await _matrixClient.post( + '/_matrix/client/v3/createRoom', + jsonEncode(roomData), + ); + + if (response.statusCode != 200) { + throw Exception( + 'Failed to create room: ${response.statusCode} - ${response.body}', + ); + } + + final responseData = jsonDecode(response.body) as Map<String, dynamic>; + final roomId = responseData['room_id'] as String; + + _log.info('Room created successfully: $roomId'); + + await _ensureRoomIsMarkedAsDirectChat(roomId, targetUserId); + return roomId; + } catch (e, stackTrace) { + _log.severe('Failed to create direct message room', e, stackTrace); + rethrow; + } + } + + /// Finds an existing direct message room with a specific user + Future<String?> _findExistingDirectMessageRoom({ + required String targetUserId, + required String currentUserId, + }) async { + try { + _log.info('Checking for existing direct message room with $targetUserId'); + + final existingRoomId = await _checkDirectRoomsInAccountData( + targetUserId: targetUserId, + currentUserId: currentUserId, + ); + + if (existingRoomId != null) { + _log.info('Found existing room: $existingRoomId'); + // Test if there is still access to the room + + return existingRoomId; + } + + _log.info('No existing direct message room found'); + return null; + } catch (e, stackTrace) { + _log.warning('Error finding existing room', e, stackTrace); + return null; + } + } + + /// Checks m.direct account data for existing rooms and validates them + Future<String?> _checkDirectRoomsInAccountData({ + required String targetUserId, + required String currentUserId, + }) async { + try { + final encodedUserId = Uri.encodeComponent(currentUserId); + final response = await _matrixClient.get( + '/_matrix/client/v3/user/$encodedUserId/account_data/m.direct', + ); + + if (response.statusCode != 200) { + _log.warning( + 'Failed to get m.direct account data: ${response.statusCode}', + ); + return null; + } + + final directRooms = jsonDecode(response.body) as Map<String, dynamic>; + final roomIds = directRooms[targetUserId] as List<dynamic>?; + + if (roomIds == null || roomIds.isEmpty) { + _log.info('No direct rooms found for $targetUserId'); + return null; + } + + _log.info('Found ${roomIds.length} potential rooms for $targetUserId'); + + for (final roomId in roomIds) { + final existingRoomId = roomId as String; + if (await _validateRoom(existingRoomId, currentUserId, targetUserId)) { + return existingRoomId; + } + } + + _log.info('No valid rooms found among ${roomIds.length} existing rooms'); + return null; + } catch (e, stackTrace) { + _log.warning( + 'Error checking direct rooms in account data', e, stackTrace); + return null; + } + } + + /// Validates that a room is accessible and has the correct members + Future<bool> _validateRoom( + String roomId, + String currentUserId, + String targetUserId, + ) async { + try { + // Check if current user is a member of the room + final encodedRoomId = MatrixHelper.encodeRoomId(roomId); + final encodedCurrentUserId = Uri.encodeComponent(currentUserId); + final currentUserResponse = await _matrixClient.get( + '/_matrix/client/v3/rooms/$encodedRoomId/state/m.room.member/$encodedCurrentUserId', + ); + + if (currentUserResponse.statusCode != 200) { + _log.info( + 'Cannot access room $roomId (status: ${currentUserResponse.statusCode})', + ); + await _leaveAndRemoveRoom(roomId, targetUserId, currentUserId); + return false; + } + + final currentMember = + jsonDecode(currentUserResponse.body) as Map<String, dynamic>; + if (currentMember['membership'] != 'join') { + _log.info('Current user is not a member of room $roomId'); + await _leaveAndRemoveRoom(roomId, targetUserId, currentUserId); + return false; + } + + // Check if target user is also a member of the room + final encodedTargetUserId = Uri.encodeComponent(targetUserId); + final targetUserResponse = await _matrixClient.get( + '/_matrix/client/v3/rooms/$encodedRoomId/state/m.room.member/$encodedTargetUserId', + ); + + if (targetUserResponse.statusCode != 200) { + _log.info( + 'Target user membership not found for room $roomId (status: ${targetUserResponse.statusCode})', + ); + await _leaveAndRemoveRoom(roomId, targetUserId, currentUserId); + return false; + } + + final targetMember = + jsonDecode(targetUserResponse.body) as Map<String, dynamic>; + if (targetMember['membership'] != 'join') { + _log.info('Target user is not a member of room $roomId'); + await _leaveAndRemoveRoom(roomId, targetUserId, currentUserId); + return false; + } + + _log.info('Valid room found: $roomId (both users are members)'); + return true; + } catch (e) { + _log.warning('Error validating room $roomId: $e'); + return false; + } + } + + /// Leaves a room and removes it from m.direct account data + Future<void> _leaveAndRemoveRoom( + String roomId, + String targetUserId, + String currentUserId, + ) async { + try { + final encodedRoomId = MatrixHelper.encodeRoomId(roomId); + await _matrixClient.post( + '/_matrix/client/v3/rooms/$encodedRoomId/leave', + '{}', + ); + _log.info('Left room $roomId'); + + final encodedUserId = Uri.encodeComponent(currentUserId); + final response = await _matrixClient.get( + '/_matrix/client/v3/user/$encodedUserId/account_data/m.direct', + ); + + if (response.statusCode == 200) { + final directRooms = jsonDecode(response.body) as Map<String, dynamic>; + final roomIds = (directRooms[targetUserId] as List<dynamic>?) ?? []; + + directRooms[targetUserId] = + roomIds.where((room) => room != roomId).toList(); + + await _matrixClient.put( + '/_matrix/client/v3/user/$encodedUserId/account_data/m.direct', + jsonEncode(directRooms), + ); + _log.info('Removed room $roomId from m.direct'); + } + } catch (e) { + _log.warning('Error leaving/removing room $roomId: $e'); + } + } + + /// Ensures a room is marked as a direct chat in m.direct account data + Future<void> _ensureRoomIsMarkedAsDirectChat( + String roomId, + String targetUserId, + ) async { + try { + final encodedUserId = Uri.encodeComponent(_currentUserId); + final response = await _matrixClient.get( + '/_matrix/client/v3/user/$encodedUserId/account_data/m.direct', + ); + + if (response.statusCode != 200) { + _log.warning( + 'Failed to get m.direct data: ${response.statusCode}', + ); + return; + } + + final directRooms = jsonDecode(response.body) as Map<String, dynamic>; + final roomIds = (directRooms[targetUserId] as List<dynamic>?) ?? []; + + if (roomIds.contains(roomId)) { + _log.info('Room $roomId already marked as direct chat'); + return; + } + + _log.info('Marking room $roomId as direct chat with $targetUserId'); + directRooms[targetUserId] = [...roomIds, roomId]; + + await _matrixClient.put( + '/_matrix/client/v3/user/$encodedUserId/account_data/m.direct', + jsonEncode(directRooms), + ); + _log.info('Room marked as direct chat successfully'); + } catch (e) { + _log.warning('Error ensuring room is marked as direct chat: $e'); + } + } + + /// Clean up resources + void dispose() { + _matrixClient.dispose(); + } +} diff --git a/school_data_hub_server/lib/src/utils/matrix_notifications/schoolday_event_notification_text.dart b/school_data_hub_server/lib/src/utils/matrix_notifications/schoolday_event_notification_text.dart new file mode 100644 index 00000000..123b0120 --- /dev/null +++ b/school_data_hub_server/lib/src/utils/matrix_notifications/schoolday_event_notification_text.dart @@ -0,0 +1,91 @@ +import 'package:school_data_hub_server/src/generated/protocol.dart'; + +/// Returns plain text notification message +String getSchooldayEventNotificationMarkdown( + {required String eventcreator, + required String pupilName, + required SchooldayEvent schooldayEvent, + required int numberOfEvents}) { + final String eventType = switch (schooldayEvent.eventType) { + SchooldayEventType.admonition => 'Rote Karte 🚫', + SchooldayEventType.admonitionAndBanned => 'Rote Karte und Abholen 🚫🏠️', + SchooldayEventType.afternoonCareAdmonition => 'Rote Karte OGS ⚠️🍽️', + SchooldayEventType.parentsMeeting => 'Elterngespräch 👪💬', + SchooldayEventType.otherEvent => 'Sonstiged 🗒️', + // TODO: Handle this case. + SchooldayEventType.notSet => '❓️', + }; + final String eventReason = schooldayEvent.eventReason + .replaceFirst('gm', '🤜🤕') + .replaceFirst('gl', '🤜🎓️') + .replaceFirst('gs', '🤜🏫') + .replaceFirst('ab', '🤬💔') + .replaceFirst('gv', '🚨😱') + .replaceFirst('äa', '😈😖') + .replaceFirst('il', '🎓️🙉') + .replaceFirst('us', '🛑🎓️') + .replaceFirst('ss', '📝') + .replaceFirst('le', '💡🧠') + .replaceFirst('fi', '🛟🧠') + .replaceFirst('ki', '⚠️ℹ️'); + + return ''' +$eventType +für $pupilName +$eventReason + +von $eventcreator + +Das ist die $numberOfEvents. Schulereignis für $pupilName. +'''; +} + +/// Returns HTML formatted notification message for Matrix +String getSchooldayEventNotificationHtml({ + required String eventcreator, + required String pupilName, + required SchooldayEvent schooldayEvent, + required int numberOfEvents, +}) { + final String eventType = switch (schooldayEvent.eventType) { + SchooldayEventType.admonition => 'Rote Karte 🚫', + SchooldayEventType.admonitionAndBanned => 'Rote Karte und Abholen 🚫🏠️', + SchooldayEventType.afternoonCareAdmonition => 'Rote Karte OGS ⚠️🍽️', + SchooldayEventType.parentsMeeting => 'Elterngespräch 👪💬', + SchooldayEventType.otherEvent => 'Sonstiges 🗒️', + SchooldayEventType.notSet => '❓️', + }; + + final String eventReason = schooldayEvent.eventReason + .replaceFirst('gm', '🤜🤕 Gewalt gegen Kinder') + .replaceFirst('gl', '🤜🎓️ Gewalt gegen Erwachsene') + .replaceFirst('gs', '🤜🏫 Gewalt gegen Sachen') + .replaceFirst('ab', '🤬💔 Beleidigen') + .replaceFirst('gv', '🚨😱 Gefahr für sich/andere') + .replaceFirst('äa', '😈😖 Ärgern') + .replaceFirst('il', '🎓️🙉 Anweisungen ignorieren') + .replaceFirst('us', '🛑🎓️ Unterricht stören') + .replaceFirst('ss', '📝 Sonstiges') + .replaceFirst('le', '💡🧠 Lernentwicklung') + .replaceFirst('fi', '🛟🧠 Förderung') + .replaceFirst('ki', '⚠️ℹ️ Regelverstoß'); + + // Escape HTML entities + String escapeHtml(String text) { + return text + .replaceAll('&', '&amp;') + .replaceAll('<', '&lt;') + .replaceAll('>', '&gt;') + .replaceAll('"', '&quot;') + .replaceAll("'", '&#39;'); + } + + return ''' +<h3><strong>${escapeHtml(eventType)}</strong></h3><p>für</p> +<h3><strong>${escapeHtml(pupilName)}</strong></h3> +<h4>Grund:</h4> +<p><strong>${escapeHtml(eventReason).replaceAll('*', '<br>')}</strong></p> +<p>Eingetragen von <strong>${escapeHtml(eventcreator)}</strong></p> +<p>Das ist das <strong>$numberOfEvents</strong>. Schulereignis für <strong>${escapeHtml(pupilName)}</strong>.</p> +'''; +} From 88ef9a450b952a23fc5cfa1b1a1c2497fb716057 Mon Sep 17 00:00:00 2001 From: dabblingwithcode <nacho.dominguis@proton.me> Date: Sun, 23 Nov 2025 14:28:45 +0100 Subject: [PATCH 08/13] WIP with migrations --- .../_features/user/models/staff_user.dart | 26 + .../lib/src/protocol/client.dart | 421 +- school_data_hub_flutter/README.md | 378 +- .../lib/app_utils/barcode_stream_scanner.dart | 3 +- .../datetime_extensions.dart} | 35 +- .../app_utils/extensions/isbn_extensions.dart | 10 + .../lib/app_utils/isbn_book_data_scraper.dart | 70 - .../services/pdf_generation_service.dart | 22 +- .../dialogs/long_textfield_dialog.dart | 78 +- .../dialogs/schoolday_date_picker.dart | 29 +- .../lib/core/session/hub_session_manager.dart | 1 + .../domain/attendance_helper_functions.dart | 242 +- .../domain/attendance_manager.dart | 6 +- .../filters/attendance_pupil_filter.dart | 2 +- .../attendance_page/attendance_list_page.dart | 21 +- .../widgets/atendance_list_card.dart | 209 +- .../widgets/attendance_filters.dart | 18 +- .../dialogues/multiple_entries_dialog.dart | 357 +- .../missed_classes_pupil_list_page.dart | 10 +- .../missed_classes_pupil_list_card.dart | 52 +- .../data/schoolday_event_api_service.dart | 8 +- .../schoolday_event_helper_functions.dart | 151 +- .../domain/schoolday_event_manager.dart | 16 +- .../new_schoolday_event_page.dart | 367 +- .../widgets/pupil_schoolday_event_card.dart | 323 +- .../schoolday_event_pupil_list_card.dart | 238 +- .../login_page/login_page.dart | 106 +- .../widgets/pupil_lists_buttons.dart | 21 +- .../widgets/settings_session_section.dart | 5 +- .../book_list_page/widgets/book_card.dart | 44 +- .../widgets/book_pupil_card.dart | 11 +- .../widgets/pupil_book_card.dart | 9 +- .../book_search_result_card.dart | 39 +- .../presentation/widgets/pupil_book_card.dart | 11 +- .../learning_list_card.dart | 10 +- .../competence_check_card.dart | 281 +- .../competence_goal_card.dart | 37 +- .../widgets/competence_check_comment.dart | 39 +- ...arning_content_expansion_tile_nav_bar.dart | 77 +- .../widgets/learning_support_list_card.dart | 32 +- .../widgets/dialogs/support_level_dialog.dart | 4 +- .../support_category_statuses_list.dart | 35 +- .../support_category_status_entry.dart | 164 +- .../support_goal/support_goal_card.dart | 77 +- .../learning_support_plan_pdf_generator.dart | 4 +- .../matrix/services/api/api_settings.dart | 2 - .../ogs_edit_emergency_care_dialog.dart | 98 + .../dialogs/ogs_edit_pickup_times_dialog.dart | 233 + .../lib/features/ogs/widgets/ogs_details.dart | 376 + .../ogs/widgets/ogs_filter_bottom_sheet.dart | 102 +- .../features/ogs/widgets/ogs_list_card.dart | 255 +- .../ogs/widgets/ogs_list_search_bar.dart | 5 +- .../ogs/widgets/ogs_view_bottom_navbar.dart | 15 +- .../ogs/widgets/pupil_ogs_content_list.dart | 12 +- .../pupil/data/pupil_data_api_service.dart | 93 +- .../domain/filters/pupil_filter_enums.dart | 10 +- .../filters/pupil_selector_filters.dart | 28 +- .../domain/filters/pupil_text_filter.dart | 6 +- .../pupil/domain/filters/pupils_filter.dart | 1 + .../domain/filters/pupils_filter_impl.dart | 29 +- .../features/pupil/domain/models/enums.dart | 59 +- .../pupil/domain/models/extensions.dart | 17 +- .../pupil/domain/models/pupil_proxy.dart | 34 +- .../pupil_identity_helper_functions.dart | 85 +- .../pupil/domain/pupil_identity_manager.dart | 52 +- .../features/pupil/domain/pupil_manager.dart | 27 +- .../features/pupil/domain/pupil_mutator.dart | 72 + .../pupil/presentation/birthdays_page.dart | 118 +- .../communication_values.dart | 33 +- .../pupil_profile_communication_content.dart | 97 +- .../pupil_profile_infos_content.dart | 531 +- .../pupil_profile_learning_content.dart | 185 +- .../support_level_history_expansion_tile.dart | 194 +- .../select_pupils_filter_bottom_sheet.dart | 34 +- .../schooldays_calendar_page.dart | 135 +- .../widgets/date_picker_button.dart | 4 +- .../services/school_list_pdf_generator.dart | 16 +- .../controller/statistics.dart | 2 +- .../new_lesson_group_page.dart | 162 +- .../new_scheduled_lesson_page.dart | 192 +- .../new_timetable_page.dart | 22 +- .../widgets/end_date_field.dart | 11 +- .../widgets/start_date_field.dart | 11 +- .../features/user/domain/user_manager.dart | 14 +- .../create_user/create_user_page.dart | 513 +- .../widgets/scope_names_selector.dart | 128 + .../user_list/widgets/user_list_card.dart | 4 +- .../widgets/pupil_workbook_card.dart | 478 +- .../widgets/workbook_card.dart | 393 +- school_data_hub_server/Makefile | 9 +- school_data_hub_server/README.md | 483 +- .../admin/endpoints/admin_endpoint.dart | 18 +- .../endpooints/pupil_update_endpoint.dart | 18 + .../endpoints/schoolday_event_endpoint.dart | 57 +- .../user/endpoints/user_endpoints.dart | 28 - .../_features/user/models/staff_user.spy.yaml | 4 + .../_features/user/models/staff_user.dart | 43 + .../lib/src/generated/endpoints.dart | 144 +- .../lib/src/generated/protocol.dart | 12 + .../lib/src/generated/protocol.yaml | 1 + .../20251121184735230/definition.json | 6520 ++++++++++++++++ .../20251121184735230/definition.sql | 1726 +++++ .../20251121184735230/definition_project.json | 4827 ++++++++++++ .../20251121184735230/migration.json | 28 + .../20251121184735230/migration.sql | 33 + .../20251123092602494/definition.json | 6526 +++++++++++++++++ .../20251123092602494/definition.sql | 1727 +++++ .../20251123092602494/definition_project.json | 4833 ++++++++++++ .../20251123092602494/migration.json | 28 + .../20251123092602494/migration.sql | 33 + .../migrations/migration_registry.txt | 2 + .../test_tools/serverpod_test_tools.dart | 455 +- school_data_hub_server/uml_diagram.puml | 2 + test_data/mock_users.json | 0 114 files changed, 32608 insertions(+), 3936 deletions(-) rename school_data_hub_flutter/lib/app_utils/{extensions.dart => extensions/datetime_extensions.dart} (74%) create mode 100644 school_data_hub_flutter/lib/app_utils/extensions/isbn_extensions.dart delete mode 100644 school_data_hub_flutter/lib/app_utils/isbn_book_data_scraper.dart create mode 100644 school_data_hub_flutter/lib/features/ogs/widgets/dialogs/ogs_edit_emergency_care_dialog.dart create mode 100644 school_data_hub_flutter/lib/features/ogs/widgets/dialogs/ogs_edit_pickup_times_dialog.dart create mode 100644 school_data_hub_flutter/lib/features/ogs/widgets/ogs_details.dart create mode 100644 school_data_hub_flutter/lib/features/user/presentation/create_user/widgets/scope_names_selector.dart create mode 100644 school_data_hub_server/migrations/20251121184735230/definition.json create mode 100644 school_data_hub_server/migrations/20251121184735230/definition.sql create mode 100644 school_data_hub_server/migrations/20251121184735230/definition_project.json create mode 100644 school_data_hub_server/migrations/20251121184735230/migration.json create mode 100644 school_data_hub_server/migrations/20251121184735230/migration.sql create mode 100644 school_data_hub_server/migrations/20251123092602494/definition.json create mode 100644 school_data_hub_server/migrations/20251123092602494/definition.sql create mode 100644 school_data_hub_server/migrations/20251123092602494/definition_project.json create mode 100644 school_data_hub_server/migrations/20251123092602494/migration.json create mode 100644 school_data_hub_server/migrations/20251123092602494/migration.sql create mode 100644 test_data/mock_users.json diff --git a/school_data_hub_client/lib/src/protocol/_features/user/models/staff_user.dart b/school_data_hub_client/lib/src/protocol/_features/user/models/staff_user.dart index f43d3ad7..481885da 100644 --- a/school_data_hub_client/lib/src/protocol/_features/user/models/staff_user.dart +++ b/school_data_hub_client/lib/src/protocol/_features/user/models/staff_user.dart @@ -24,11 +24,13 @@ abstract class User implements _i1.SerializableModel { required this.userInfoId, this.userInfo, required this.role, + this.matrixUserId, required this.timeUnits, required this.reliefTimeUnits, this.scheduledLessonsTeacher, this.lessonsTeacher, this.pupilsAuth, + this.schooldayEventsProcessingTeam, required this.credit, required this.userFlags, }); @@ -38,11 +40,13 @@ abstract class User implements _i1.SerializableModel { required int userInfoId, _i2.UserInfo? userInfo, required _i3.Role role, + String? matrixUserId, required int timeUnits, required int reliefTimeUnits, List<_i4.ScheduledLessonTeacher>? scheduledLessonsTeacher, List<_i5.LessonTeacher>? lessonsTeacher, Set<int>? pupilsAuth, + String? schooldayEventsProcessingTeam, required int credit, required _i6.UserFlags userFlags, }) = _UserImpl; @@ -56,6 +60,7 @@ abstract class User implements _i1.SerializableModel { : _i2.UserInfo.fromJson( (jsonSerialization['userInfo'] as Map<String, dynamic>)), role: _i3.Role.fromJson((jsonSerialization['role'] as String)), + matrixUserId: jsonSerialization['matrixUserId'] as String?, timeUnits: jsonSerialization['timeUnits'] as int, reliefTimeUnits: jsonSerialization['reliefTimeUnits'] as int, scheduledLessonsTeacher: (jsonSerialization['scheduledLessonsTeacher'] @@ -71,6 +76,8 @@ abstract class User implements _i1.SerializableModel { : _i1.SetJsonExtension.fromJson( (jsonSerialization['pupilsAuth'] as List), itemFromJson: (e) => e as int), + schooldayEventsProcessingTeam: + jsonSerialization['schooldayEventsProcessingTeam'] as String?, credit: jsonSerialization['credit'] as int, userFlags: _i6.UserFlags.fromJson( (jsonSerialization['userFlags'] as Map<String, dynamic>)), @@ -88,6 +95,8 @@ abstract class User implements _i1.SerializableModel { _i3.Role role; + String? matrixUserId; + int timeUnits; int reliefTimeUnits; @@ -98,6 +107,8 @@ abstract class User implements _i1.SerializableModel { Set<int>? pupilsAuth; + String? schooldayEventsProcessingTeam; + int credit; _i6.UserFlags userFlags; @@ -110,11 +121,13 @@ abstract class User implements _i1.SerializableModel { int? userInfoId, _i2.UserInfo? userInfo, _i3.Role? role, + String? matrixUserId, int? timeUnits, int? reliefTimeUnits, List<_i4.ScheduledLessonTeacher>? scheduledLessonsTeacher, List<_i5.LessonTeacher>? lessonsTeacher, Set<int>? pupilsAuth, + String? schooldayEventsProcessingTeam, int? credit, _i6.UserFlags? userFlags, }); @@ -125,6 +138,7 @@ abstract class User implements _i1.SerializableModel { 'userInfoId': userInfoId, if (userInfo != null) 'userInfo': userInfo?.toJson(), 'role': role.toJson(), + if (matrixUserId != null) 'matrixUserId': matrixUserId, 'timeUnits': timeUnits, 'reliefTimeUnits': reliefTimeUnits, if (scheduledLessonsTeacher != null) @@ -134,6 +148,8 @@ abstract class User implements _i1.SerializableModel { 'lessonsTeacher': lessonsTeacher?.toJson(valueToJson: (v) => v.toJson()), if (pupilsAuth != null) 'pupilsAuth': pupilsAuth?.toJson(), + if (schooldayEventsProcessingTeam != null) + 'schooldayEventsProcessingTeam': schooldayEventsProcessingTeam, 'credit': credit, 'userFlags': userFlags.toJson(), }; @@ -153,11 +169,13 @@ class _UserImpl extends User { required int userInfoId, _i2.UserInfo? userInfo, required _i3.Role role, + String? matrixUserId, required int timeUnits, required int reliefTimeUnits, List<_i4.ScheduledLessonTeacher>? scheduledLessonsTeacher, List<_i5.LessonTeacher>? lessonsTeacher, Set<int>? pupilsAuth, + String? schooldayEventsProcessingTeam, required int credit, required _i6.UserFlags userFlags, }) : super._( @@ -165,11 +183,13 @@ class _UserImpl extends User { userInfoId: userInfoId, userInfo: userInfo, role: role, + matrixUserId: matrixUserId, timeUnits: timeUnits, reliefTimeUnits: reliefTimeUnits, scheduledLessonsTeacher: scheduledLessonsTeacher, lessonsTeacher: lessonsTeacher, pupilsAuth: pupilsAuth, + schooldayEventsProcessingTeam: schooldayEventsProcessingTeam, credit: credit, userFlags: userFlags, ); @@ -183,11 +203,13 @@ class _UserImpl extends User { int? userInfoId, Object? userInfo = _Undefined, _i3.Role? role, + Object? matrixUserId = _Undefined, int? timeUnits, int? reliefTimeUnits, Object? scheduledLessonsTeacher = _Undefined, Object? lessonsTeacher = _Undefined, Object? pupilsAuth = _Undefined, + Object? schooldayEventsProcessingTeam = _Undefined, int? credit, _i6.UserFlags? userFlags, }) { @@ -197,6 +219,7 @@ class _UserImpl extends User { userInfo: userInfo is _i2.UserInfo? ? userInfo : this.userInfo?.copyWith(), role: role ?? this.role, + matrixUserId: matrixUserId is String? ? matrixUserId : this.matrixUserId, timeUnits: timeUnits ?? this.timeUnits, reliefTimeUnits: reliefTimeUnits ?? this.reliefTimeUnits, scheduledLessonsTeacher: scheduledLessonsTeacher @@ -209,6 +232,9 @@ class _UserImpl extends User { pupilsAuth: pupilsAuth is Set<int>? ? pupilsAuth : this.pupilsAuth?.map((e0) => e0).toSet(), + schooldayEventsProcessingTeam: schooldayEventsProcessingTeam is String? + ? schooldayEventsProcessingTeam + : this.schooldayEventsProcessingTeam, credit: credit ?? this.credit, userFlags: userFlags ?? this.userFlags.copyWith(), ); diff --git a/school_data_hub_client/lib/src/protocol/client.dart b/school_data_hub_client/lib/src/protocol/client.dart index eef9d988..9dd11c85 100644 --- a/school_data_hub_client/lib/src/protocol/client.dart +++ b/school_data_hub_client/lib/src/protocol/client.dart @@ -75,42 +75,44 @@ import 'package:school_data_hub_client/src/protocol/_features/pupil/models/pupil as _i34; import 'package:school_data_hub_client/src/protocol/_features/learning_support/models/support_level.dart' as _i35; -import 'package:school_data_hub_client/src/protocol/_features/school_data/models/school_data.dart' +import 'package:school_data_hub_client/src/protocol/_features/pupil/models/pupil_data/after_school_care/after_school_care.dart' as _i36; -import 'package:school_data_hub_client/src/protocol/_features/school_lists/models/school_list.dart' +import 'package:school_data_hub_client/src/protocol/_features/school_data/models/school_data.dart' as _i37; -import 'package:school_data_hub_client/src/protocol/_features/school_lists/models/pupil_entry.dart' +import 'package:school_data_hub_client/src/protocol/_features/school_lists/models/school_list.dart' as _i38; -import 'package:school_data_hub_client/src/protocol/_features/schoolday/models/school_semester.dart' +import 'package:school_data_hub_client/src/protocol/_features/school_lists/models/pupil_entry.dart' as _i39; -import 'package:school_data_hub_client/src/protocol/_features/schoolday/models/schoolday.dart' +import 'package:school_data_hub_client/src/protocol/_features/schoolday/models/school_semester.dart' as _i40; -import 'package:school_data_hub_client/src/protocol/_features/schoolday_events/models/schoolday_event.dart' +import 'package:school_data_hub_client/src/protocol/_features/schoolday/models/schoolday.dart' as _i41; -import 'package:school_data_hub_client/src/protocol/_features/schoolday_events/models/schoolday_event_type.dart' +import 'package:school_data_hub_client/src/protocol/_features/schoolday_events/models/schoolday_event.dart' as _i42; -import 'package:school_data_hub_client/src/protocol/_features/timetable/models/classroom.dart' +import 'package:school_data_hub_client/src/protocol/_features/schoolday_events/models/schoolday_event_type.dart' as _i43; -import 'package:school_data_hub_client/src/protocol/_features/timetable/models/lesson/lesson_group.dart' +import 'package:school_data_hub_client/src/protocol/_features/timetable/models/classroom.dart' as _i44; -import 'package:school_data_hub_client/src/protocol/_features/timetable/models/scheduled_lesson/scheduled_lesson.dart' +import 'package:school_data_hub_client/src/protocol/_features/timetable/models/lesson/lesson_group.dart' as _i45; -import 'package:school_data_hub_client/src/protocol/_features/timetable/models/scheduled_lesson/lesson_group_membership.dart' +import 'package:school_data_hub_client/src/protocol/_features/timetable/models/scheduled_lesson/scheduled_lesson.dart' as _i46; -import 'package:school_data_hub_client/src/protocol/_features/timetable/models/scheduled_lesson/subject.dart' +import 'package:school_data_hub_client/src/protocol/_features/timetable/models/scheduled_lesson/lesson_group_membership.dart' as _i47; -import 'package:school_data_hub_client/src/protocol/_features/timetable/models/timetable.dart' +import 'package:school_data_hub_client/src/protocol/_features/timetable/models/scheduled_lesson/subject.dart' as _i48; -import 'package:school_data_hub_client/src/protocol/_features/timetable/models/scheduled_lesson/timetable_slot.dart' +import 'package:school_data_hub_client/src/protocol/_features/timetable/models/timetable.dart' as _i49; -import 'package:school_data_hub_client/src/protocol/_features/timetable/models/scheduled_lesson/weekday_enum.dart' +import 'package:school_data_hub_client/src/protocol/_features/timetable/models/scheduled_lesson/timetable_slot.dart' as _i50; -import 'package:school_data_hub_client/src/protocol/_features/workbooks/models/pupil_workbook.dart' +import 'package:school_data_hub_client/src/protocol/_features/timetable/models/scheduled_lesson/weekday_enum.dart' as _i51; -import 'package:school_data_hub_client/src/protocol/_features/workbooks/models/workbook.dart' +import 'package:school_data_hub_client/src/protocol/_features/workbooks/models/pupil_workbook.dart' as _i52; -import 'dart:typed_data' as _i53; -import 'protocol.dart' as _i54; +import 'package:school_data_hub_client/src/protocol/_features/workbooks/models/workbook.dart' + as _i53; +import 'dart:typed_data' as _i54; +import 'protocol.dart' as _i55; /// The endpoint for admin operations. /// This endpoint requires the user to be logged in and have admin scope. @@ -131,6 +133,9 @@ class EndpointAdmin extends _i1.EndpointRef { required int reliefTimeUnits, required List<String> scopeNames, required bool isTester, + String? schooldayEventsProcessingTeam, + String? matrixUserId, + int? credit, }) => caller.callServerEndpoint<_i3.User>( 'admin', @@ -145,6 +150,9 @@ class EndpointAdmin extends _i1.EndpointRef { 'reliefTimeUnits': reliefTimeUnits, 'scopeNames': scopeNames, 'isTester': isTester, + 'schooldayEventsProcessingTeam': schooldayEventsProcessingTeam, + 'matrixUserId': matrixUserId, + 'credit': credit, }, ); @@ -1416,6 +1424,19 @@ class EndpointPupilUpdate extends _i1.EndpointRef { _i15.mapRecordToJson(schoolyearHeldBackDate), }, ); + + _i2.Future<_i5.PupilData> updateAfterSchoolCare( + int pupilId, + _i36.AfterSchoolCare afterSchoolCare, + ) => + caller.callServerEndpoint<_i5.PupilData>( + 'pupilUpdate', + 'updateAfterSchoolCare', + { + 'pupilId': pupilId, + 'afterSchoolCare': afterSchoolCare, + }, + ); } /// {@category Endpoint} @@ -1425,16 +1446,16 @@ class EndpointSchoolData extends _i1.EndpointRef { @override String get name => 'schoolData'; - _i2.Future<_i36.SchoolData> postSchoolData(_i36.SchoolData schoolData) => - caller.callServerEndpoint<_i36.SchoolData>( + _i2.Future<_i37.SchoolData> postSchoolData(_i37.SchoolData schoolData) => + caller.callServerEndpoint<_i37.SchoolData>( 'schoolData', 'postSchoolData', {'schoolData': schoolData}, ); /// TODO: we should be specific about which school data to get - _i2.Future<_i36.SchoolData?> getSchoolData() => - caller.callServerEndpoint<_i36.SchoolData?>( + _i2.Future<_i37.SchoolData?> getSchoolData() => + caller.callServerEndpoint<_i37.SchoolData?>( 'schoolData', 'getSchoolData', {}, @@ -1448,21 +1469,21 @@ class EndpointSchoolList extends _i1.EndpointRef { @override String get name => 'schoolList'; - _i2.Future<List<_i37.SchoolList>> fetchSchoolLists(String userName) => - caller.callServerEndpoint<List<_i37.SchoolList>>( + _i2.Future<List<_i38.SchoolList>> fetchSchoolLists(String userName) => + caller.callServerEndpoint<List<_i38.SchoolList>>( 'schoolList', 'fetchSchoolLists', {'userName': userName}, ); - _i2.Future<_i37.SchoolList> postSchoolList( + _i2.Future<_i38.SchoolList> postSchoolList( String name, String description, List<int> pupilIds, bool public, String createdBy, ) => - caller.callServerEndpoint<_i37.SchoolList>( + caller.callServerEndpoint<_i38.SchoolList>( 'schoolList', 'postSchoolList', { @@ -1474,7 +1495,7 @@ class EndpointSchoolList extends _i1.EndpointRef { }, ); - _i2.Future<_i37.SchoolList> updateSchoolList( + _i2.Future<_i38.SchoolList> updateSchoolList( int listId, String? name, String? description, @@ -1482,7 +1503,7 @@ class EndpointSchoolList extends _i1.EndpointRef { bool? public, ({_i14.MemberOperation operation, List<int> pupilIds})? updateMembers, ) => - caller.callServerEndpoint<_i37.SchoolList>( + caller.callServerEndpoint<_i38.SchoolList>( 'schoolList', 'updateSchoolList', { @@ -1502,9 +1523,9 @@ class EndpointSchoolList extends _i1.EndpointRef { {'listId': listId}, ); - _i2.Future<_i38.PupilListEntry> updatePupilListEntry( - _i38.PupilListEntry entry) => - caller.callServerEndpoint<_i38.PupilListEntry>( + _i2.Future<_i39.PupilListEntry> updatePupilListEntry( + _i39.PupilListEntry entry) => + caller.callServerEndpoint<_i39.PupilListEntry>( 'schoolList', 'updatePupilListEntry', {'entry': entry}, @@ -1518,7 +1539,7 @@ class EndpointSchooldayAdmin extends _i1.EndpointRef { @override String get name => 'schooldayAdmin'; - _i2.Future<_i39.SchoolSemester> createSchoolSemester( + _i2.Future<_i40.SchoolSemester> createSchoolSemester( String schoolYearName, DateTime startDate, DateTime endDate, @@ -1528,7 +1549,7 @@ class EndpointSchooldayAdmin extends _i1.EndpointRef { DateTime? reportConferenceDate, DateTime? reportSignedDate, ) => - caller.callServerEndpoint<_i39.SchoolSemester>( + caller.callServerEndpoint<_i40.SchoolSemester>( 'schooldayAdmin', 'createSchoolSemester', { @@ -1543,43 +1564,43 @@ class EndpointSchooldayAdmin extends _i1.EndpointRef { }, ); - _i2.Future<List<_i39.SchoolSemester>> getAllSchoolSemesters() => - caller.callServerEndpoint<List<_i39.SchoolSemester>>( + _i2.Future<List<_i40.SchoolSemester>> getAllSchoolSemesters() => + caller.callServerEndpoint<List<_i40.SchoolSemester>>( 'schooldayAdmin', 'getAllSchoolSemesters', {}, ); - _i2.Future<_i39.SchoolSemester?> getCurrentSchoolSemester() => - caller.callServerEndpoint<_i39.SchoolSemester?>( + _i2.Future<_i40.SchoolSemester?> getCurrentSchoolSemester() => + caller.callServerEndpoint<_i40.SchoolSemester?>( 'schooldayAdmin', 'getCurrentSchoolSemester', {}, ); - _i2.Future<bool> updateSchoolSemester(_i39.SchoolSemester schoolSemester) => + _i2.Future<bool> updateSchoolSemester(_i40.SchoolSemester schoolSemester) => caller.callServerEndpoint<bool>( 'schooldayAdmin', 'updateSchoolSemester', {'schoolSemester': schoolSemester}, ); - _i2.Future<bool> deleteSchoolSemester(_i39.SchoolSemester semester) => + _i2.Future<bool> deleteSchoolSemester(_i40.SchoolSemester semester) => caller.callServerEndpoint<bool>( 'schooldayAdmin', 'deleteSchoolSemester', {'semester': semester}, ); - _i2.Future<_i40.Schoolday?> createSchoolday(DateTime date) => - caller.callServerEndpoint<_i40.Schoolday?>( + _i2.Future<_i41.Schoolday?> createSchoolday(DateTime date) => + caller.callServerEndpoint<_i41.Schoolday?>( 'schooldayAdmin', 'createSchoolday', {'date': date}, ); - _i2.Future<List<_i40.Schoolday>> createSchooldays(List<DateTime> dates) => - caller.callServerEndpoint<List<_i40.Schoolday>>( + _i2.Future<List<_i41.Schoolday>> createSchooldays(List<DateTime> dates) => + caller.callServerEndpoint<List<_i41.Schoolday>>( 'schooldayAdmin', 'createSchooldays', {'dates': dates}, @@ -1592,7 +1613,7 @@ class EndpointSchooldayAdmin extends _i1.EndpointRef { {'date': date}, ); - _i2.Future<bool> updateSchoolday(_i40.Schoolday schoolday) => + _i2.Future<bool> updateSchoolday(_i41.Schoolday schoolday) => caller.callServerEndpoint<bool>( 'schooldayAdmin', 'updateSchoolday', @@ -1607,15 +1628,15 @@ class EndpointSchoolday extends _i1.EndpointRef { @override String get name => 'schoolday'; - _i2.Future<List<_i39.SchoolSemester>> getSchoolSemesters() => - caller.callServerEndpoint<List<_i39.SchoolSemester>>( + _i2.Future<List<_i40.SchoolSemester>> getSchoolSemesters() => + caller.callServerEndpoint<List<_i40.SchoolSemester>>( 'schoolday', 'getSchoolSemesters', {}, ); - _i2.Future<List<_i40.Schoolday>> getSchooldays() => - caller.callServerEndpoint<List<_i40.Schoolday>>( + _i2.Future<List<_i41.Schoolday>> getSchooldays() => + caller.callServerEndpoint<List<_i41.Schoolday>>( 'schoolday', 'getSchooldays', {}, @@ -1629,26 +1650,30 @@ class EndpointSchooldayEvent extends _i1.EndpointRef { @override String get name => 'schooldayEvent'; - _i2.Future<List<_i41.SchooldayEvent>> fetchSchooldayEvents() => - caller.callServerEndpoint<List<_i41.SchooldayEvent>>( + _i2.Future<List<_i42.SchooldayEvent>> fetchSchooldayEvents() => + caller.callServerEndpoint<List<_i42.SchooldayEvent>>( 'schooldayEvent', 'fetchSchooldayEvents', {}, ); - _i2.Future<_i41.SchooldayEvent> createSchooldayEvent({ + _i2.Future<_i42.SchooldayEvent> createSchooldayEvent({ required int pupilId, + required String pupilNameAndGroup, + required String dateTimeAsString, required int schooldayId, - required _i42.SchooldayEventType type, + required _i43.SchooldayEventType type, required String reason, required String createdBy, required String tutor, }) => - caller.callServerEndpoint<_i41.SchooldayEvent>( + caller.callServerEndpoint<_i42.SchooldayEvent>( 'schooldayEvent', 'createSchooldayEvent', { 'pupilId': pupilId, + 'pupilNameAndGroup': pupilNameAndGroup, + 'dateTimeAsString': dateTimeAsString, 'schooldayId': schooldayId, 'type': type, 'reason': reason, @@ -1657,11 +1682,11 @@ class EndpointSchooldayEvent extends _i1.EndpointRef { }, ); - _i2.Future<_i41.SchooldayEvent> updateSchooldayEvent( - _i41.SchooldayEvent schooldayEvent, + _i2.Future<_i42.SchooldayEvent> updateSchooldayEvent( + _i42.SchooldayEvent schooldayEvent, bool changedProcessedToFalse, ) => - caller.callServerEndpoint<_i41.SchooldayEvent>( + caller.callServerEndpoint<_i42.SchooldayEvent>( 'schooldayEvent', 'updateSchooldayEvent', { @@ -1677,13 +1702,13 @@ class EndpointSchooldayEvent extends _i1.EndpointRef { {'schooldayEventId': schooldayEventId}, ); - _i2.Future<_i41.SchooldayEvent> updateSchooldayEventFile( + _i2.Future<_i42.SchooldayEvent> updateSchooldayEventFile( int schooldayEventId, String filePath, String createdBy, bool isprocessed, ) => - caller.callServerEndpoint<_i41.SchooldayEvent>( + caller.callServerEndpoint<_i42.SchooldayEvent>( 'schooldayEvent', 'updateSchooldayEventFile', { @@ -1694,11 +1719,11 @@ class EndpointSchooldayEvent extends _i1.EndpointRef { }, ); - _i2.Future<_i41.SchooldayEvent> deleteSchooldayEventFile( + _i2.Future<_i42.SchooldayEvent> deleteSchooldayEventFile( int schooldayEventId, bool isProcessed, ) => - caller.callServerEndpoint<_i41.SchooldayEvent>( + caller.callServerEndpoint<_i42.SchooldayEvent>( 'schooldayEvent', 'deleteSchooldayEventFile', { @@ -1715,43 +1740,43 @@ class EndpointClassroom extends _i1.EndpointRef { @override String get name => 'classroom'; - _i2.Future<_i43.Classroom> createClassroom(_i43.Classroom classroom) => - caller.callServerEndpoint<_i43.Classroom>( + _i2.Future<_i44.Classroom> createClassroom(_i44.Classroom classroom) => + caller.callServerEndpoint<_i44.Classroom>( 'classroom', 'createClassroom', {'classroom': classroom}, ); - _i2.Future<List<_i43.Classroom>> fetchClassrooms() => - caller.callServerEndpoint<List<_i43.Classroom>>( + _i2.Future<List<_i44.Classroom>> fetchClassrooms() => + caller.callServerEndpoint<List<_i44.Classroom>>( 'classroom', 'fetchClassrooms', {}, ); - _i2.Future<_i43.Classroom?> fetchClassroomById(int id) => - caller.callServerEndpoint<_i43.Classroom?>( + _i2.Future<_i44.Classroom?> fetchClassroomById(int id) => + caller.callServerEndpoint<_i44.Classroom?>( 'classroom', 'fetchClassroomById', {'id': id}, ); - _i2.Future<_i43.Classroom?> fetchClassroomByRoomCode(String roomCode) => - caller.callServerEndpoint<_i43.Classroom?>( + _i2.Future<_i44.Classroom?> fetchClassroomByRoomCode(String roomCode) => + caller.callServerEndpoint<_i44.Classroom?>( 'classroom', 'fetchClassroomByRoomCode', {'roomCode': roomCode}, ); - _i2.Future<List<_i43.Classroom>> fetchClassroomsByRoomName(String roomName) => - caller.callServerEndpoint<List<_i43.Classroom>>( + _i2.Future<List<_i44.Classroom>> fetchClassroomsByRoomName(String roomName) => + caller.callServerEndpoint<List<_i44.Classroom>>( 'classroom', 'fetchClassroomsByRoomName', {'roomName': roomName}, ); - _i2.Future<_i43.Classroom> updateClassroom(_i43.Classroom classroom) => - caller.callServerEndpoint<_i43.Classroom>( + _i2.Future<_i44.Classroom> updateClassroom(_i44.Classroom classroom) => + caller.callServerEndpoint<_i44.Classroom>( 'classroom', 'updateClassroom', {'classroom': classroom}, @@ -1771,61 +1796,61 @@ class EndpointLearningGroup extends _i1.EndpointRef { @override String get name => 'learningGroup'; - _i2.Future<_i44.LessonGroup> createLessonGroup( - _i44.LessonGroup lessonGroup) => - caller.callServerEndpoint<_i44.LessonGroup>( + _i2.Future<_i45.LessonGroup> createLessonGroup( + _i45.LessonGroup lessonGroup) => + caller.callServerEndpoint<_i45.LessonGroup>( 'learningGroup', 'createLessonGroup', {'lessonGroup': lessonGroup}, ); - _i2.Future<List<_i44.LessonGroup>> fetchLessonGroups() => - caller.callServerEndpoint<List<_i44.LessonGroup>>( + _i2.Future<List<_i45.LessonGroup>> fetchLessonGroups() => + caller.callServerEndpoint<List<_i45.LessonGroup>>( 'learningGroup', 'fetchLessonGroups', {}, ); - _i2.Future<_i44.LessonGroup?> fetchLessonGroupById(int id) => - caller.callServerEndpoint<_i44.LessonGroup?>( + _i2.Future<_i45.LessonGroup?> fetchLessonGroupById(int id) => + caller.callServerEndpoint<_i45.LessonGroup?>( 'learningGroup', 'fetchLessonGroupById', {'id': id}, ); - _i2.Future<_i44.LessonGroup?> fetchLessonGroupByPublicId(String publicId) => - caller.callServerEndpoint<_i44.LessonGroup?>( + _i2.Future<_i45.LessonGroup?> fetchLessonGroupByPublicId(String publicId) => + caller.callServerEndpoint<_i45.LessonGroup?>( 'learningGroup', 'fetchLessonGroupByPublicId', {'publicId': publicId}, ); - _i2.Future<List<_i44.LessonGroup>> fetchLessonGroupsByName(String name) => - caller.callServerEndpoint<List<_i44.LessonGroup>>( + _i2.Future<List<_i45.LessonGroup>> fetchLessonGroupsByName(String name) => + caller.callServerEndpoint<List<_i45.LessonGroup>>( 'learningGroup', 'fetchLessonGroupsByName', {'name': name}, ); - _i2.Future<List<_i44.LessonGroup>> fetchLessonGroupsByCreator( + _i2.Future<List<_i45.LessonGroup>> fetchLessonGroupsByCreator( String createdBy) => - caller.callServerEndpoint<List<_i44.LessonGroup>>( + caller.callServerEndpoint<List<_i45.LessonGroup>>( 'learningGroup', 'fetchLessonGroupsByCreator', {'createdBy': createdBy}, ); - _i2.Future<List<_i44.LessonGroup>> fetchLessonGroupsByTimetable( + _i2.Future<List<_i45.LessonGroup>> fetchLessonGroupsByTimetable( int timetableId) => - caller.callServerEndpoint<List<_i44.LessonGroup>>( + caller.callServerEndpoint<List<_i45.LessonGroup>>( 'learningGroup', 'fetchLessonGroupsByTimetable', {'timetableId': timetableId}, ); - _i2.Future<_i44.LessonGroup> updateLessonGroup( - _i44.LessonGroup lessonGroup) => - caller.callServerEndpoint<_i44.LessonGroup>( + _i2.Future<_i45.LessonGroup> updateLessonGroup( + _i45.LessonGroup lessonGroup) => + caller.callServerEndpoint<_i45.LessonGroup>( 'learningGroup', 'updateLessonGroup', {'lessonGroup': lessonGroup}, @@ -1845,77 +1870,77 @@ class EndpointScheduledLesson extends _i1.EndpointRef { @override String get name => 'scheduledLesson'; - _i2.Future<_i45.ScheduledLesson?> createScheduledLesson( - _i45.ScheduledLesson scheduledLesson) => - caller.callServerEndpoint<_i45.ScheduledLesson?>( + _i2.Future<_i46.ScheduledLesson?> createScheduledLesson( + _i46.ScheduledLesson scheduledLesson) => + caller.callServerEndpoint<_i46.ScheduledLesson?>( 'scheduledLesson', 'createScheduledLesson', {'scheduledLesson': scheduledLesson}, ); - _i2.Future<List<_i45.ScheduledLesson>> fetchScheduledLessons() => - caller.callServerEndpoint<List<_i45.ScheduledLesson>>( + _i2.Future<List<_i46.ScheduledLesson>> fetchScheduledLessons() => + caller.callServerEndpoint<List<_i46.ScheduledLesson>>( 'scheduledLesson', 'fetchScheduledLessons', {}, ); - _i2.Future<_i45.ScheduledLesson?> fetchScheduledLessonById(int id) => - caller.callServerEndpoint<_i45.ScheduledLesson?>( + _i2.Future<_i46.ScheduledLesson?> fetchScheduledLessonById(int id) => + caller.callServerEndpoint<_i46.ScheduledLesson?>( 'scheduledLesson', 'fetchScheduledLessonById', {'id': id}, ); - _i2.Future<List<_i45.ScheduledLesson>> fetchScheduledLessonsByTimetable( + _i2.Future<List<_i46.ScheduledLesson>> fetchScheduledLessonsByTimetable( int timetableId) => - caller.callServerEndpoint<List<_i45.ScheduledLesson>>( + caller.callServerEndpoint<List<_i46.ScheduledLesson>>( 'scheduledLesson', 'fetchScheduledLessonsByTimetable', {'timetableId': timetableId}, ); - _i2.Future<List<_i45.ScheduledLesson>> fetchScheduledLessonsBySubject( + _i2.Future<List<_i46.ScheduledLesson>> fetchScheduledLessonsBySubject( int subjectId) => - caller.callServerEndpoint<List<_i45.ScheduledLesson>>( + caller.callServerEndpoint<List<_i46.ScheduledLesson>>( 'scheduledLesson', 'fetchScheduledLessonsBySubject', {'subjectId': subjectId}, ); - _i2.Future<List<_i45.ScheduledLesson>> fetchScheduledLessonsByRoom( + _i2.Future<List<_i46.ScheduledLesson>> fetchScheduledLessonsByRoom( int roomId) => - caller.callServerEndpoint<List<_i45.ScheduledLesson>>( + caller.callServerEndpoint<List<_i46.ScheduledLesson>>( 'scheduledLesson', 'fetchScheduledLessonsByRoom', {'roomId': roomId}, ); - _i2.Future<List<_i45.ScheduledLesson>> fetchScheduledLessonsBySlotId( + _i2.Future<List<_i46.ScheduledLesson>> fetchScheduledLessonsBySlotId( int slotId) => - caller.callServerEndpoint<List<_i45.ScheduledLesson>>( + caller.callServerEndpoint<List<_i46.ScheduledLesson>>( 'scheduledLesson', 'fetchScheduledLessonsBySlotId', {'slotId': slotId}, ); - _i2.Future<List<_i45.ScheduledLesson>> fetchActiveScheduledLessons() => - caller.callServerEndpoint<List<_i45.ScheduledLesson>>( + _i2.Future<List<_i46.ScheduledLesson>> fetchActiveScheduledLessons() => + caller.callServerEndpoint<List<_i46.ScheduledLesson>>( 'scheduledLesson', 'fetchActiveScheduledLessons', {}, ); - _i2.Future<_i45.ScheduledLesson?> updateScheduledLesson( - _i45.ScheduledLesson scheduledLesson) => - caller.callServerEndpoint<_i45.ScheduledLesson?>( + _i2.Future<_i46.ScheduledLesson?> updateScheduledLesson( + _i46.ScheduledLesson scheduledLesson) => + caller.callServerEndpoint<_i46.ScheduledLesson?>( 'scheduledLesson', 'updateScheduledLesson', {'scheduledLesson': scheduledLesson}, ); - _i2.Future<_i45.ScheduledLesson?> deactivateScheduledLesson(int id) => - caller.callServerEndpoint<_i45.ScheduledLesson?>( + _i2.Future<_i46.ScheduledLesson?> deactivateScheduledLesson(int id) => + caller.callServerEndpoint<_i46.ScheduledLesson?>( 'scheduledLesson', 'deactivateScheduledLesson', {'id': id}, @@ -1937,53 +1962,53 @@ class EndpointScheduledLessonGroupMembership extends _i1.EndpointRef { @override String get name => 'scheduledLessonGroupMembership'; - _i2.Future<_i46.ScheduledLessonGroupMembership> + _i2.Future<_i47.ScheduledLessonGroupMembership> createScheduledLessonGroupMembership( - _i46.ScheduledLessonGroupMembership membership) => - caller.callServerEndpoint<_i46.ScheduledLessonGroupMembership>( + _i47.ScheduledLessonGroupMembership membership) => + caller.callServerEndpoint<_i47.ScheduledLessonGroupMembership>( 'scheduledLessonGroupMembership', 'createScheduledLessonGroupMembership', {'membership': membership}, ); - _i2.Future<List<_i46.ScheduledLessonGroupMembership>> + _i2.Future<List<_i47.ScheduledLessonGroupMembership>> fetchScheduledLessonGroupMemberships() => - caller.callServerEndpoint<List<_i46.ScheduledLessonGroupMembership>>( + caller.callServerEndpoint<List<_i47.ScheduledLessonGroupMembership>>( 'scheduledLessonGroupMembership', 'fetchScheduledLessonGroupMemberships', {}, ); - _i2.Future<_i46.ScheduledLessonGroupMembership?> + _i2.Future<_i47.ScheduledLessonGroupMembership?> fetchScheduledLessonGroupMembershipById(int id) => - caller.callServerEndpoint<_i46.ScheduledLessonGroupMembership?>( + caller.callServerEndpoint<_i47.ScheduledLessonGroupMembership?>( 'scheduledLessonGroupMembership', 'fetchScheduledLessonGroupMembershipById', {'id': id}, ); - _i2.Future<List<_i46.ScheduledLessonGroupMembership>> + _i2.Future<List<_i47.ScheduledLessonGroupMembership>> fetchMembershipsByLessonGroupId(int lessonGroupId) => - caller.callServerEndpoint<List<_i46.ScheduledLessonGroupMembership>>( + caller.callServerEndpoint<List<_i47.ScheduledLessonGroupMembership>>( 'scheduledLessonGroupMembership', 'fetchMembershipsByLessonGroupId', {'lessonGroupId': lessonGroupId}, ); - _i2.Future<List<_i46.ScheduledLessonGroupMembership>> + _i2.Future<List<_i47.ScheduledLessonGroupMembership>> fetchMembershipsByPupilDataId(int pupilDataId) => - caller.callServerEndpoint<List<_i46.ScheduledLessonGroupMembership>>( + caller.callServerEndpoint<List<_i47.ScheduledLessonGroupMembership>>( 'scheduledLessonGroupMembership', 'fetchMembershipsByPupilDataId', {'pupilDataId': pupilDataId}, ); - _i2.Future<_i46.ScheduledLessonGroupMembership?> + _i2.Future<_i47.ScheduledLessonGroupMembership?> fetchMembershipByLessonGroupAndPupil( int lessonGroupId, int pupilDataId, ) => - caller.callServerEndpoint<_i46.ScheduledLessonGroupMembership?>( + caller.callServerEndpoint<_i47.ScheduledLessonGroupMembership?>( 'scheduledLessonGroupMembership', 'fetchMembershipByLessonGroupAndPupil', { @@ -1992,10 +2017,10 @@ class EndpointScheduledLessonGroupMembership extends _i1.EndpointRef { }, ); - _i2.Future<_i46.ScheduledLessonGroupMembership> + _i2.Future<_i47.ScheduledLessonGroupMembership> updateScheduledLessonGroupMembership( - _i46.ScheduledLessonGroupMembership membership) => - caller.callServerEndpoint<_i46.ScheduledLessonGroupMembership>( + _i47.ScheduledLessonGroupMembership membership) => + caller.callServerEndpoint<_i47.ScheduledLessonGroupMembership>( 'scheduledLessonGroupMembership', 'updateScheduledLessonGroupMembership', {'membership': membership}, @@ -2042,50 +2067,50 @@ class EndpointSubject extends _i1.EndpointRef { @override String get name => 'subject'; - _i2.Future<_i47.Subject> createSubject(_i47.Subject subject) => - caller.callServerEndpoint<_i47.Subject>( + _i2.Future<_i48.Subject> createSubject(_i48.Subject subject) => + caller.callServerEndpoint<_i48.Subject>( 'subject', 'createSubject', {'subject': subject}, ); - _i2.Future<List<_i47.Subject>> fetchSubjects() => - caller.callServerEndpoint<List<_i47.Subject>>( + _i2.Future<List<_i48.Subject>> fetchSubjects() => + caller.callServerEndpoint<List<_i48.Subject>>( 'subject', 'fetchSubjects', {}, ); - _i2.Future<_i47.Subject?> fetchSubjectById(int id) => - caller.callServerEndpoint<_i47.Subject?>( + _i2.Future<_i48.Subject?> fetchSubjectById(int id) => + caller.callServerEndpoint<_i48.Subject?>( 'subject', 'fetchSubjectById', {'id': id}, ); - _i2.Future<_i47.Subject?> fetchSubjectByPublicId(String publicId) => - caller.callServerEndpoint<_i47.Subject?>( + _i2.Future<_i48.Subject?> fetchSubjectByPublicId(String publicId) => + caller.callServerEndpoint<_i48.Subject?>( 'subject', 'fetchSubjectByPublicId', {'publicId': publicId}, ); - _i2.Future<List<_i47.Subject>> fetchSubjectsByName(String name) => - caller.callServerEndpoint<List<_i47.Subject>>( + _i2.Future<List<_i48.Subject>> fetchSubjectsByName(String name) => + caller.callServerEndpoint<List<_i48.Subject>>( 'subject', 'fetchSubjectsByName', {'name': name}, ); - _i2.Future<List<_i47.Subject>> fetchSubjectsByCreator(String createdBy) => - caller.callServerEndpoint<List<_i47.Subject>>( + _i2.Future<List<_i48.Subject>> fetchSubjectsByCreator(String createdBy) => + caller.callServerEndpoint<List<_i48.Subject>>( 'subject', 'fetchSubjectsByCreator', {'createdBy': createdBy}, ); - _i2.Future<_i47.Subject> updateSubject(_i47.Subject subject) => - caller.callServerEndpoint<_i47.Subject>( + _i2.Future<_i48.Subject> updateSubject(_i48.Subject subject) => + caller.callServerEndpoint<_i48.Subject>( 'subject', 'updateSubject', {'subject': subject}, @@ -2105,65 +2130,65 @@ class EndpointTimetable extends _i1.EndpointRef { @override String get name => 'timetable'; - _i2.Future<_i48.Timetable> createTimetable(_i48.Timetable timetable) => - caller.callServerEndpoint<_i48.Timetable>( + _i2.Future<_i49.Timetable> createTimetable(_i49.Timetable timetable) => + caller.callServerEndpoint<_i49.Timetable>( 'timetable', 'createTimetable', {'timetable': timetable}, ); - _i2.Future<List<_i48.Timetable>> fetchTimetables() => - caller.callServerEndpoint<List<_i48.Timetable>>( + _i2.Future<List<_i49.Timetable>> fetchTimetables() => + caller.callServerEndpoint<List<_i49.Timetable>>( 'timetable', 'fetchTimetables', {}, ); - _i2.Future<_i48.Timetable?> fetchTimetableById(int id) => - caller.callServerEndpoint<_i48.Timetable?>( + _i2.Future<_i49.Timetable?> fetchTimetableById(int id) => + caller.callServerEndpoint<_i49.Timetable?>( 'timetable', 'fetchTimetableById', {'id': id}, ); - _i2.Future<_i48.Timetable?> fetchTimetable() => - caller.callServerEndpoint<_i48.Timetable?>( + _i2.Future<_i49.Timetable?> fetchTimetable() => + caller.callServerEndpoint<_i49.Timetable?>( 'timetable', 'fetchTimetable', {}, ); - _i2.Future<_i48.Timetable?> fetchCompleteTimetableData() => - caller.callServerEndpoint<_i48.Timetable?>( + _i2.Future<_i49.Timetable?> fetchCompleteTimetableData() => + caller.callServerEndpoint<_i49.Timetable?>( 'timetable', 'fetchCompleteTimetableData', {}, ); - _i2.Future<List<_i48.Timetable>> fetchActiveTimetables() => - caller.callServerEndpoint<List<_i48.Timetable>>( + _i2.Future<List<_i49.Timetable>> fetchActiveTimetables() => + caller.callServerEndpoint<List<_i49.Timetable>>( 'timetable', 'fetchActiveTimetables', {}, ); - _i2.Future<List<_i48.Timetable>> fetchTimetablesBySemester( + _i2.Future<List<_i49.Timetable>> fetchTimetablesBySemester( int schoolSemesterId) => - caller.callServerEndpoint<List<_i48.Timetable>>( + caller.callServerEndpoint<List<_i49.Timetable>>( 'timetable', 'fetchTimetablesBySemester', {'schoolSemesterId': schoolSemesterId}, ); - _i2.Future<_i48.Timetable> updateTimetable(_i48.Timetable timetable) => - caller.callServerEndpoint<_i48.Timetable>( + _i2.Future<_i49.Timetable> updateTimetable(_i49.Timetable timetable) => + caller.callServerEndpoint<_i49.Timetable>( 'timetable', 'updateTimetable', {'timetable': timetable}, ); - _i2.Future<_i48.Timetable> deactivateTimetable(int id) => - caller.callServerEndpoint<_i48.Timetable>( + _i2.Future<_i49.Timetable> deactivateTimetable(int id) => + caller.callServerEndpoint<_i49.Timetable>( 'timetable', 'deactivateTimetable', {'id': id}, @@ -2183,47 +2208,47 @@ class EndpointTimetableSlot extends _i1.EndpointRef { @override String get name => 'timetableSlot'; - _i2.Future<_i49.TimetableSlot> createTimetableSlot( - _i49.TimetableSlot timetableSlot) => - caller.callServerEndpoint<_i49.TimetableSlot>( + _i2.Future<_i50.TimetableSlot> createTimetableSlot( + _i50.TimetableSlot timetableSlot) => + caller.callServerEndpoint<_i50.TimetableSlot>( 'timetableSlot', 'createTimetableSlot', {'timetableSlot': timetableSlot}, ); - _i2.Future<List<_i49.TimetableSlot>> fetchTimetableSlots() => - caller.callServerEndpoint<List<_i49.TimetableSlot>>( + _i2.Future<List<_i50.TimetableSlot>> fetchTimetableSlots() => + caller.callServerEndpoint<List<_i50.TimetableSlot>>( 'timetableSlot', 'fetchTimetableSlots', {}, ); - _i2.Future<_i49.TimetableSlot?> fetchTimetableSlotById(int id) => - caller.callServerEndpoint<_i49.TimetableSlot?>( + _i2.Future<_i50.TimetableSlot?> fetchTimetableSlotById(int id) => + caller.callServerEndpoint<_i50.TimetableSlot?>( 'timetableSlot', 'fetchTimetableSlotById', {'id': id}, ); - _i2.Future<List<_i49.TimetableSlot>> fetchTimetableSlotsByTimetableId( + _i2.Future<List<_i50.TimetableSlot>> fetchTimetableSlotsByTimetableId( int timetableId) => - caller.callServerEndpoint<List<_i49.TimetableSlot>>( + caller.callServerEndpoint<List<_i50.TimetableSlot>>( 'timetableSlot', 'fetchTimetableSlotsByTimetableId', {'timetableId': timetableId}, ); - _i2.Future<List<_i49.TimetableSlot>> fetchTimetableSlotsByDay( - _i50.Weekday day) => - caller.callServerEndpoint<List<_i49.TimetableSlot>>( + _i2.Future<List<_i50.TimetableSlot>> fetchTimetableSlotsByDay( + _i51.Weekday day) => + caller.callServerEndpoint<List<_i50.TimetableSlot>>( 'timetableSlot', 'fetchTimetableSlotsByDay', {'day': day}, ); - _i2.Future<_i49.TimetableSlot> updateTimetableSlot( - _i49.TimetableSlot timetableSlot) => - caller.callServerEndpoint<_i49.TimetableSlot>( + _i2.Future<_i50.TimetableSlot> updateTimetableSlot( + _i50.TimetableSlot timetableSlot) => + caller.callServerEndpoint<_i50.TimetableSlot>( 'timetableSlot', 'updateTimetableSlot', {'timetableSlot': timetableSlot}, @@ -2285,12 +2310,12 @@ class EndpointPupilWorkbooks extends _i1.EndpointRef { @override String get name => 'pupilWorkbooks'; - _i2.Future<_i51.PupilWorkbook> postPupilWorkbook( + _i2.Future<_i52.PupilWorkbook> postPupilWorkbook( int isbn, int pupilId, String createdBy, ) => - caller.callServerEndpoint<_i51.PupilWorkbook>( + caller.callServerEndpoint<_i52.PupilWorkbook>( 'pupilWorkbooks', 'postPupilWorkbook', { @@ -2300,24 +2325,24 @@ class EndpointPupilWorkbooks extends _i1.EndpointRef { }, ); - _i2.Future<List<_i51.PupilWorkbook>> fetchPupilWorkbooks() => - caller.callServerEndpoint<List<_i51.PupilWorkbook>>( + _i2.Future<List<_i52.PupilWorkbook>> fetchPupilWorkbooks() => + caller.callServerEndpoint<List<_i52.PupilWorkbook>>( 'pupilWorkbooks', 'fetchPupilWorkbooks', {}, ); - _i2.Future<List<_i51.PupilWorkbook>> fetchPupilWorkbooksFromPupil( + _i2.Future<List<_i52.PupilWorkbook>> fetchPupilWorkbooksFromPupil( int pupilId) => - caller.callServerEndpoint<List<_i51.PupilWorkbook>>( + caller.callServerEndpoint<List<_i52.PupilWorkbook>>( 'pupilWorkbooks', 'fetchPupilWorkbooksFromPupil', {'pupilId': pupilId}, ); - _i2.Future<_i51.PupilWorkbook> updatePupilWorkbook( - _i51.PupilWorkbook pupilWorkbook) => - caller.callServerEndpoint<_i51.PupilWorkbook>( + _i2.Future<_i52.PupilWorkbook> updatePupilWorkbook( + _i52.PupilWorkbook pupilWorkbook) => + caller.callServerEndpoint<_i52.PupilWorkbook>( 'pupilWorkbooks', 'updatePupilWorkbook', {'pupilWorkbook': pupilWorkbook}, @@ -2338,29 +2363,29 @@ class EndpointWorkbooks extends _i1.EndpointRef { @override String get name => 'workbooks'; - _i2.Future<_i52.Workbook> postWorkbook(_i52.Workbook workbook) => - caller.callServerEndpoint<_i52.Workbook>( + _i2.Future<_i53.Workbook> postWorkbook(_i53.Workbook workbook) => + caller.callServerEndpoint<_i53.Workbook>( 'workbooks', 'postWorkbook', {'workbook': workbook}, ); - _i2.Future<_i52.Workbook> fetchWorkbookByIsbn(int isbn) => - caller.callServerEndpoint<_i52.Workbook>( + _i2.Future<_i53.Workbook> fetchWorkbookByIsbn(int isbn) => + caller.callServerEndpoint<_i53.Workbook>( 'workbooks', 'fetchWorkbookByIsbn', {'isbn': isbn}, ); - _i2.Future<List<_i52.Workbook>> fetchWorkbooks() => - caller.callServerEndpoint<List<_i52.Workbook>>( + _i2.Future<List<_i53.Workbook>> fetchWorkbooks() => + caller.callServerEndpoint<List<_i53.Workbook>>( 'workbooks', 'fetchWorkbooks', {}, ); - _i2.Future<_i52.Workbook> updateWorkbook(_i52.Workbook workbook) => - caller.callServerEndpoint<_i52.Workbook>( + _i2.Future<_i53.Workbook> updateWorkbook(_i53.Workbook workbook) => + caller.callServerEndpoint<_i53.Workbook>( 'workbooks', 'updateWorkbook', {'workbook': workbook}, @@ -2411,15 +2436,15 @@ class EndpointFiles extends _i1.EndpointRef { ); /// As described in https://docs.serverpod.dev/concepts/file-uploads#client-side-code - _i2.Future<_i53.ByteData?> getImage(String documentId) => - caller.callServerEndpoint<_i53.ByteData?>( + _i2.Future<_i54.ByteData?> getImage(String documentId) => + caller.callServerEndpoint<_i54.ByteData?>( 'files', 'getImage', {'documentId': documentId}, ); - _i2.Future<_i53.ByteData?> getUnencryptedImage(String path) => - caller.callServerEndpoint<_i53.ByteData?>( + _i2.Future<_i54.ByteData?> getUnencryptedImage(String path) => + caller.callServerEndpoint<_i54.ByteData?>( 'files', 'getUnencryptedImage', {'path': path}, @@ -2450,7 +2475,7 @@ class Client extends _i1.ServerpodClientShared { bool? disconnectStreamsOnLostInternetConnection, }) : super( host, - _i54.Protocol(), + _i55.Protocol(), securityContext: securityContext, authenticationKeyManager: authenticationKeyManager, streamingConnectionTimeout: streamingConnectionTimeout, diff --git a/school_data_hub_flutter/README.md b/school_data_hub_flutter/README.md index ff51c892..0475c7c8 100644 --- a/school_data_hub_flutter/README.md +++ b/school_data_hub_flutter/README.md @@ -1,13 +1,373 @@ -# school_data_hub_flutter +# School Data Hub Flutter Client -- Deploying / migrations in production -- Storage, backup -- Implement Mail -- Migrate Auth / check device related Auth / revoke device Auth -- Manager reinitialization changing instance / logging out -- Architecture / data flow -- UI / layout -- Implement https://github.com/mduccc/in_app_console ? +The Flutter cross-platform client application for School Data Hub. This app provides the user interface for managing school information flows, working in conjunction with the School Data Hub Server. + +## Overview + +The Flutter client is a cross-platform application supporting: +- **Desktop**: Windows, Linux, macOS +- **Mobile**: Android, iOS +- **Web**: (Limited support) + +It implements a privacy-first architecture where sensitive pupil data is stored locally on each device and never uploaded to the server. + +**Shorebird Integration**: The client uses Shorebird for over-the-air (OTA) code push updates, allowing for rapid deployment of bug fixes and feature updates without requiring app store releases. + +## Prerequisites + +- **Flutter SDK**: >=3.19.0 +- **Dart SDK**: >=3.8.0 +- **Serverpod**: The project uses Serverpod 2.9.1 for backend communication +- **School Data Hub Client**: A local dependency (`../school_data_hub_client`) ## Getting Started +### Installation + +1. Clone the repository and navigate to the Flutter client directory: + ```bash + cd school_data_hub_flutter + ``` + +2. Install dependencies: + ```bash + flutter pub get + ``` + +3. Ensure the `school_data_hub_client` package is generated. You may need to run `serverpod generate` in the parent directory first. + +### Running the App + +#### Development Mode + +Run the app in development mode: +```bash +flutter run +``` + +For a specific platform: +```bash +# Windows +flutter run -d windows + +# Android +flutter run -d android + +# iOS (macOS only) +flutter run -d ios + +# Linux +flutter run -d linux + +# macOS +flutter run -d macos +``` + +#### Local Development Server Connection + +When connecting to a local development server: +- **Windows**: Use `http://127.0.0.1:5000/api` as the server URL +- **Android Emulator**: Use `http://10.0.2.2:5000/api` as the server URL + +Configure this in your school key JSON during initial setup. + +## Architecture + +### Project Structure + +The project follows a feature-based architecture: + +``` +lib/ +├── app_utils/ # Application-level utilities +├── common/ # Shared widgets and utilities +├── core/ # Core functionality (DI, session, env) +├── features/ # Feature modules +│ ├── _attendance/ # Attendance management +│ ├── _schoolday_events/ # Schoolday events +│ ├── app_entry_point/ # Login and entry flow +│ ├── app_main_navigation/ # Main navigation +│ ├── app_settings/ # Settings +│ ├── authorizations/ # Authorization management +│ ├── books/ # Library management +│ ├── learning/ # Competence tracking +│ ├── learning_support/ # Learning support plans +│ ├── matrix/ # Matrix integration +│ ├── pupil/ # Pupil profiles and data +│ ├── school/ # School data management +│ ├── school_calendar/ # Calendar management +│ ├── school_lists/ # School lists +│ ├── timetable/ # Timetable management +│ ├── user/ # User management +│ └── workbooks/ # Workbook management +└── l10n/ # Localization files +``` + +Each feature follows a clean architecture pattern: +- `data/` - API services and data access +- `domain/` - Business logic and managers +- `presentation/` - UI components and pages + +### State Management + +The project uses `watch_it` (1.7.0) for dependency injection and state management: +- Dependency injection via `watch_it`'s `di` container +- ValueListenable-based reactive state management +- Watching widgets with `WatchItMixin` + +### Key Technologies + +- **Serverpod Flutter**: 2.9.1 - Backend communication +- **watch_it**: 1.7.0 - Dependency injection and state management +- **flutter_secure_storage**: 10.0.0-beta.1 - Secure local storage +- **encrypt**: 5.0.3 - Data encryption +- **pdf**: 3.11.3 - PDF generation +- **Shorebird**: 2.0.4 - Code push for over-the-air updates + +## Development + +### Code Generation + +Generate JSON serialization code: +```bash +flutter pub run build_runner build --delete-conflicting-outputs +``` + +### Running Tests + +Run all tests: +```bash +flutter test +``` + +### Code Analysis + +Run the analyzer: +```bash +flutter analyze +``` + +### Shorebird Code Push + +The project uses Shorebird for over-the-air (OTA) code push updates, allowing rapid deployment of bug fixes and features without app store releases. + +#### Prerequisites + +1. Install Shorebird CLI: + ```bash + dart pub global activate shorebird_cli + ``` + +2. Login to Shorebird: + ```bash + shorebird login + ``` + +3. Ensure `shorebird.yaml` is configured with your app ID. + +#### Building with Shorebird + +##### Initial Release (First Build) + +When creating the first release of a version, you need to build and release through Shorebird: + +**Android APK:** +```bash +make release_android +``` + +Or manually: +```bash +shorebird release android --artifact=apk +``` + +**Windows:** +```bash +shorebird release windows --release-version=0.5.1+1 +``` + +**iOS (macOS only):** +```bash +shorebird release ios +``` + +The initial release creates a baseline version that patches can be applied to. + +##### Creating Patches + +After an initial release, you can create patches for incremental updates: + +**Android:** +```bash +make patch_android +``` + +Or manually: +```bash +shorebird patch android +``` + +**Windows:** +```bash +make patch_windows +``` + +Or manually: +```bash +shorebird patch windows --platforms=windows --release-version=0.5.1+1 +``` + +**iOS (macOS only):** +```bash +shorebird patch ios +``` + +Patches allow you to update Dart code, assets, and some native code without rebuilding the entire app or going through app store review. + +#### Shorebird Configuration + +The Shorebird configuration is managed in `shorebird.yaml`: +- **app_id**: Unique identifier for your app +- **auto_update**: Controls automatic updates (currently enabled by default) + +See `shorebird.yaml` for current configuration. + +#### Version Management + +When releasing a new version (not a patch), update the version in: +1. `pubspec.yaml` - Update the version number +2. Update the `--release-version` flag in Makefile commands if needed +3. Create a new release (not a patch) for the new version + +#### Build Workflow + +1. **New Version Release**: + - Update version in `pubspec.yaml` + - Build and release: `make release_android` (or platform-specific command) + - This creates a new baseline version + +2. **Incremental Updates**: + - Make code changes + - Create patch: `make patch_android` (or platform-specific command) + - Patches are automatically distributed to users + +#### Limitations + +Shorebird patches have limitations: +- Cannot change native code (iOS/Android native code) +- Cannot change Flutter version +- Cannot change Dart version +- Cannot change signing keys +- Major architectural changes may require a new release + +For changes that patches don't support, create a new release version. + +## Configuration + +### School Keys + +The app requires school keys for initialization. See the main README.md for details on school key format and distribution. + +### Environment Management + +The app supports multiple server environments (development, staging, production) managed through the `EnvManager`. + +### Localization + +Localization files are located in `lib/l10n/`. The project uses Flutter's built-in localization system with ARB files. + +## Known Issues & TODOs + +- **Mail Notifications**: Email notification system implementation +- **Manager Reinitialization**: Handle manager reinitialization when changing instances or logging out +- **Offline Support**: Handle 'no internet connection' scenarios +- **Internationalization**: Expand language support +- **Theme System**: Implement comprehensive theme system +- **Navigation**: Review and improve navigation patterns +- **Shorebird iOS**: iOS support for Shorebird patches (currently Android and Windows supported) + +## Building for Distribution + +All production builds must be created using Shorebird. This enables over-the-air (OTA) updates and is the required build method for distribution. + +### Android + +**Initial Release:** +```bash +make release_android +``` + +Or manually: +```bash +shorebird release android --artifact=apk +``` + +**Patches:** +```bash +make patch_android +``` + +Or manually: +```bash +shorebird patch android +``` + +### Windows + +**Initial Release:** +```bash +shorebird release windows --release-version=0.5.1+1 +``` + +**Patches:** +```bash +make patch_windows +``` + +Or manually: +```bash +shorebird patch windows --platforms=windows --release-version=0.5.1+1 +``` + +### iOS (macOS only) + +**Initial Release:** +```bash +shorebird release ios +``` + +**Patches:** +```bash +shorebird patch ios +``` + +**Note**: Always build releases and patches using Shorebird. Standard Flutter builds are not used for distribution as they lack OTA update capability. + +## Troubleshooting + +### Common Issues + +1. **Missing school_data_hub_client**: Ensure you've run `serverpod generate` in the server directory first. + +2. **Connection Issues**: Verify your server URL in the school key matches your development server address. + +3. **Secure Storage Errors**: Some platforms may require additional permissions. Check platform-specific documentation. + +4. **Shorebird Build Errors**: + - Ensure you're logged in: `shorebird login` + - Verify your `shorebird.yaml` has the correct app_id + - Check that you've created an initial release before trying to create patches + - For version mismatches, ensure the `--release-version` matches your `pubspec.yaml` version + +5. **Shorebird Patch Issues**: + - Patches can only be created from the most recent release + - If you've made changes that patches don't support, create a new release instead + - Ensure your code changes are compatible with the base release version + +## Resources + +- [Flutter Documentation](https://flutter.dev/docs) +- [Serverpod Documentation](https://serverpod.dev) +- [watch_it Package](https://pub.dev/packages/watch_it) +- [Shorebird Documentation](https://shorebird.dev) +- [Main README](../README.md) diff --git a/school_data_hub_flutter/lib/app_utils/barcode_stream_scanner.dart b/school_data_hub_flutter/lib/app_utils/barcode_stream_scanner.dart index 68d80e5d..7e168046 100644 --- a/school_data_hub_flutter/lib/app_utils/barcode_stream_scanner.dart +++ b/school_data_hub_flutter/lib/app_utils/barcode_stream_scanner.dart @@ -7,8 +7,6 @@ import 'package:school_data_hub_flutter/common/widgets/generic_components/generi import 'package:school_data_hub_flutter/features/pupil/domain/pupil_identity_manager.dart'; import 'package:watch_it/watch_it.dart'; -final _pupilIdentityManager = di<PupilIdentityManager>(); - class BarcodeStreamScanner extends StatefulWidget { const BarcodeStreamScanner({super.key}); @@ -20,6 +18,7 @@ class _BarcodeStreamScannerState extends State<BarcodeStreamScanner> { final MobileScannerController controller = MobileScannerController( torchEnabled: false, ); + final _pupilIdentityManager = di<PupilIdentityManager>(); int _counter = 0; final List<String> _scannedQrCodes = []; diff --git a/school_data_hub_flutter/lib/app_utils/extensions.dart b/school_data_hub_flutter/lib/app_utils/extensions/datetime_extensions.dart similarity index 74% rename from school_data_hub_flutter/lib/app_utils/extensions.dart rename to school_data_hub_flutter/lib/app_utils/extensions/datetime_extensions.dart index 4a1a8d75..e2702386 100644 --- a/school_data_hub_flutter/lib/app_utils/extensions.dart +++ b/school_data_hub_flutter/lib/app_utils/extensions/datetime_extensions.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; -extension DateOnlyCompare on DateTime { +extension DateHubExtension on DateTime { bool isSameDate(DateTime other) { if (year == other.year && month == other.month && day == other.day) { return true; @@ -22,31 +22,24 @@ extension DateOnlyCompare on DateTime { year > other.year; } - String formatForUser() { - final date = this; + String formatDateForUser() { + final date = this.isUtc ? this.toLocal() : this; final DateFormat dateFormat = DateFormat("dd.MM.yyyy"); return dateFormat.format(date).toString(); } - String formatForJson() { + String formatDateForJson() { final DateFormat dateFormat = DateFormat("yyyy-MM-dd"); return dateFormat.format(this).toString(); } /// Format DateTime with time for UI display - String formatWithTimeForUser() { + String formatDateAndTimeForUser() { final date = this.isUtc ? this.toLocal() : this; final DateFormat dateFormat = DateFormat("dd.MM.yyyy HH:mm"); return dateFormat.format(date).toString(); } - /// Format DateTime with time for server communication - String formatWithTimeForJson() { - final date = this.isUtc ? this : this.toUtc(); - final DateFormat dateFormat = DateFormat("yyyy-MM-dd HH:mm:ss"); - return dateFormat.format(date).toString(); - } - /// Format time only for UI display String formatTimeForUser() { final date = this.isUtc ? this.toLocal() : this; @@ -61,13 +54,8 @@ extension DateOnlyCompare on DateTime { return dateFormat.format(date).toString(); } - /// Convert to local time for UI display - DateTime toLocalForUI() { - return this.isUtc ? this.toLocal() : this; - } - /// Convert to UTC for server communication - DateTime toUtcForServer() { + DateTime formatToUtcForServer() { return this.isUtc ? this : this.toUtc(); } @@ -90,17 +78,6 @@ extension DateOnlyCompare on DateTime { } } -extension DisplayAsIsbn on int { - String displayAsIsbn() { - final String isbn = toString(); - return isbn.length == 13 - ? "${isbn.substring(0, 3)}-${isbn.substring(3, 4)}-${isbn.substring(4, 6)}-${isbn.substring(6, 12)}-${isbn.substring(12, 13)}" - : isbn.length == 10 - ? "${isbn.substring(0, 1)}-${isbn.substring(1, 5)}-${isbn.substring(5, 9)}-${isbn.substring(9, 10)}" - : isbn; - } -} - // extension ColorLog on String { // String logWarning() { // final String message = diff --git a/school_data_hub_flutter/lib/app_utils/extensions/isbn_extensions.dart b/school_data_hub_flutter/lib/app_utils/extensions/isbn_extensions.dart new file mode 100644 index 00000000..217cb844 --- /dev/null +++ b/school_data_hub_flutter/lib/app_utils/extensions/isbn_extensions.dart @@ -0,0 +1,10 @@ +extension DisplayAsIsbn on int { + String displayAsIsbn() { + final String isbn = toString(); + return isbn.length == 13 + ? "${isbn.substring(0, 3)}-${isbn.substring(3, 4)}-${isbn.substring(4, 6)}-${isbn.substring(6, 12)}-${isbn.substring(12, 13)}" + : isbn.length == 10 + ? "${isbn.substring(0, 1)}-${isbn.substring(1, 5)}-${isbn.substring(5, 9)}-${isbn.substring(9, 10)}" + : isbn; + } +} diff --git a/school_data_hub_flutter/lib/app_utils/isbn_book_data_scraper.dart b/school_data_hub_flutter/lib/app_utils/isbn_book_data_scraper.dart deleted file mode 100644 index a77e85c2..00000000 --- a/school_data_hub_flutter/lib/app_utils/isbn_book_data_scraper.dart +++ /dev/null @@ -1,70 +0,0 @@ -// import 'dart:typed_data'; - -// import 'package:html/parser.dart' show parse; -// import 'package:http/http.dart' as http; - -// //- TODO: This is experimental code and should be tested before using in production -// class IsbnApiData { -// final Uint8List? image; -// final String imageUrl; -// final String title; -// final String author; -// final String description; -// IsbnApiData( -// {required this.image, -// required this.imageUrl, -// required this.title, -// required this.author, -// required this.description}); -// } - -// Future<IsbnApiData> getIsbnApiData(String isbn) async { -// final cleanIsbn = isbn.replaceAll('-', ''); -// // We check a German isbn resource for the book info -// final imageUrl = "https://buch.isbn.de/cover/$cleanIsbn.jpg"; -// final url = 'https://www.isbn.de/buch/$isbn'; -// final response = await http.get(Uri.parse(url)); -// //debugger(); -// final document = parse(response.body); -// // We scraoe the title, author and description from the html - -// // Extract the title -// var dataElement = document.querySelector('data[itemprop="product-id"]'); -// final title = dataElement?.text ?? '?'; - -// // Extract the author -// var smallElement = document.querySelector('.isbnhead small'); -// final author = smallElement?.text ?? '?'; - -// // Extract the description -// var bookDescElement = document.querySelector('#bookdesc'); -// String description = 'Nicht vorhanden'; -// if (bookDescElement != null) { -// description = bookDescElement.innerHtml -// .replaceAll('<br>', '') -// .replaceAll(RegExp(r'<[^>]*>'), '') -// .trim(); - -// description = description.replaceAll('\n', ''); - -// // Replace multiple consecutive spaces with a newline -// description = description.replaceAll(RegExp(r' {2,}'), '\n'); -// } -// final image = await http.get(Uri.parse(imageUrl)); -// if (image.statusCode != 200) { -// return IsbnApiData( -// image: null, -// imageUrl: 'https://via.placeholder.com/150', -// title: title, -// author: author, -// description: description); -// } - -// return IsbnApiData( -// image: image.bodyBytes, -// imageUrl: imageUrl, -// title: title, -// author: author, -// description: description.toString()); - -// } diff --git a/school_data_hub_flutter/lib/common/services/pdf_generation_service.dart b/school_data_hub_flutter/lib/common/services/pdf_generation_service.dart index d5ddca96..24d466e1 100644 --- a/school_data_hub_flutter/lib/common/services/pdf_generation_service.dart +++ b/school_data_hub_flutter/lib/common/services/pdf_generation_service.dart @@ -8,7 +8,7 @@ import 'package:pdf/pdf.dart'; import 'package:pdf/widgets.dart' as pw; import 'package:printing/printing.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/generic_components/generic_app_bar.dart'; @@ -99,7 +99,7 @@ class AttendancePdfGenerator { // Get the proper directory for saving files final directory = await getApplicationDocumentsDirectory(); final fileName = - "Anwesenheitsliste_${date.formatForUser().replaceAll(' ', '_')}.pdf"; + "Anwesenheitsliste_${date.formatDateForUser().replaceAll(' ', '_')}.pdf"; final file = File('${directory.path}/$fileName'); await file.writeAsBytes(await pdf.save()); @@ -239,7 +239,7 @@ class AttendancePdfGenerator { ), pw.SizedBox(height: 5), pw.Text( - '${_getWeekdayName(date)}, ${date.formatForUser()}', + '${_getWeekdayName(date)}, ${date.formatDateForUser()}', style: pw.TextStyle(fontSize: 12, font: fontRegular), ), ], @@ -249,7 +249,7 @@ class AttendancePdfGenerator { crossAxisAlignment: pw.CrossAxisAlignment.end, children: [ pw.Text( - 'Erstellt am: ${DateTime.now().formatForUser()}', + 'Erstellt am: ${DateTime.now().formatDateForUser()}', style: pw.TextStyle(fontSize: 10, font: fontRegular), ), ], @@ -548,11 +548,11 @@ class AttendancePdfGenerator { mainAxisAlignment: pw.MainAxisAlignment.spaceBetween, children: [ pw.Text( - 'Datum: ${date.formatForUser()}', + 'Datum: ${date.formatDateForUser()}', style: pw.TextStyle(fontSize: 8, font: fontRegular), ), pw.Text( - 'Erstellt am: ${DateTime.now().formatForUser()}', + 'Erstellt am: ${DateTime.now().formatDateForUser()}', style: pw.TextStyle(fontSize: 8, font: fontRegular), ), ], @@ -661,7 +661,7 @@ class MissedSchooldaysPdfGenerator { // Get the proper directory for saving files final directory = await getApplicationDocumentsDirectory(); final fileName = - "Fehlzeitenliste_Detail_${DateTime.now().formatForUser().replaceAll(' ', '_')}.pdf"; + "Fehlzeitenliste_Detail_${DateTime.now().formatDateForUser().replaceAll(' ', '_')}.pdf"; final file = File('${directory.path}/$fileName'); await file.writeAsBytes(await pdf.save()); @@ -980,7 +980,7 @@ class MissedSchooldaysPdfGenerator { ), ), pw.Text( - 'Erstellt am: ${DateTime.now().formatForUser()}', + 'Erstellt am: ${DateTime.now().formatDateForUser()}', style: pw.TextStyle(fontSize: 10, font: fontRegular), ), ], @@ -1097,7 +1097,7 @@ class MissedSchooldaysPdfGenerator { children: [ _buildTableCell(index.toString(), fontRegular, fontBold), _buildTableCell( - date != null ? date.formatForUser() : '-', + date != null ? date.formatDateForUser() : '-', fontRegular, fontBold, ), @@ -1272,7 +1272,7 @@ class MissedSchooldaysPdfGenerator { crossAxisAlignment: pw.CrossAxisAlignment.end, children: [ pw.Text( - 'Erstellt am: ${DateTime.now().formatForUser()}', + 'Erstellt am: ${DateTime.now().formatDateForUser()}', style: pw.TextStyle(fontSize: 10, font: fontRegular), ), ], @@ -1300,7 +1300,7 @@ class MissedSchooldaysPdfGenerator { style: pw.TextStyle(fontSize: 8, font: fontRegular), ), pw.Text( - 'Erstellt am: ${DateTime.now().formatForUser()}', + 'Erstellt am: ${DateTime.now().formatDateForUser()}', style: pw.TextStyle(fontSize: 8, font: fontRegular), ), ], diff --git a/school_data_hub_flutter/lib/common/widgets/dialogs/long_textfield_dialog.dart b/school_data_hub_flutter/lib/common/widgets/dialogs/long_textfield_dialog.dart index 61184912..a44ce9fb 100644 --- a/school_data_hub_flutter/lib/common/widgets/dialogs/long_textfield_dialog.dart +++ b/school_data_hub_flutter/lib/common/widgets/dialogs/long_textfield_dialog.dart @@ -1,15 +1,17 @@ import 'package:flutter/material.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; -Future<String?> longTextFieldDialog( - {required String title, - required String? initialValue, - required String labelText, - required BuildContext parentContext}) async { +Future<String?> longTextFieldDialog({ + required String title, + required String? initialValue, + required String labelText, + required BuildContext parentContext, +}) async { return await showDialog( - context: parentContext, - builder: (context) { - return StatefulBuilder(builder: (statefulContext, setState) { + context: parentContext, + builder: (context) { + return StatefulBuilder( + builder: (statefulContext, setState) { final TextEditingController textEditingController = TextEditingController(); setState(() { @@ -30,18 +32,19 @@ Future<String?> longTextFieldDialog( style: const TextStyle(fontSize: 17), keyboardType: TextInputType.multiline, controller: textEditingController, - decoration: - AppStyles.textFieldDecoration(labelText: labelText), + decoration: AppStyles.textFieldDecoration( + labelText: labelText, + ), ), ), ), ], ), - title: Text(title, - textAlign: TextAlign.center, - style: const TextStyle( - fontWeight: FontWeight.bold, - )), + title: Text( + title, + textAlign: TextAlign.center, + style: const TextStyle(fontWeight: FontWeight.bold), + ), actions: <Widget>[ Padding( padding: const EdgeInsets.all(5.0), @@ -58,23 +61,23 @@ Future<String?> longTextFieldDialog( ), ), ), - initialValue != null - ? Padding( - padding: const EdgeInsets.all(5.0), - child: ElevatedButton( - style: AppStyles.actionButtonStyle, - onPressed: () { - textEditingController.dispose(); - Navigator.of(parentContext).pop(null); - return; - }, // Add onPressed - child: const Text( - "LÖSCHEN", - style: AppStyles.buttonTextStyle, - ), - ), - ) - : const SizedBox.shrink(), + // initialValue != null + // ? Padding( + // padding: const EdgeInsets.all(5.0), + // child: ElevatedButton( + // style: AppStyles.actionButtonStyle, + // onPressed: () { + // textEditingController.dispose(); + // Navigator.of(parentContext).pop(null); + // return; + // }, // Add onPressed + // child: const Text( + // "LÖSCHEN", + // style: AppStyles.buttonTextStyle, + // ), + // ), + // ) + // : const SizedBox.shrink(), Padding( padding: const EdgeInsets.all(5.0), child: ElevatedButton( @@ -89,14 +92,13 @@ Future<String?> longTextFieldDialog( textEditingController.dispose(); Navigator.of(parentContext).pop(newSpecialInformation); }, // Add onPressed - child: const Text( - "OK", - style: AppStyles.buttonTextStyle, - ), + child: const Text("OK", style: AppStyles.buttonTextStyle), ), ), ], ); - }); - }); + }, + ); + }, + ); } diff --git a/school_data_hub_flutter/lib/common/widgets/dialogs/schoolday_date_picker.dart b/school_data_hub_flutter/lib/common/widgets/dialogs/schoolday_date_picker.dart index 8ac62191..35e18975 100644 --- a/school_data_hub_flutter/lib/common/widgets/dialogs/schoolday_date_picker.dart +++ b/school_data_hub_flutter/lib/common/widgets/dialogs/schoolday_date_picker.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/features/school_calendar/domain/school_calendar_manager.dart'; import 'package:watch_it/watch_it.dart'; @@ -7,7 +7,9 @@ import 'package:watch_it/watch_it.dart'; final _schoolCalendarManager = di<SchoolCalendarManager>(); Future<DateTime?> selectSchooldayDate( - BuildContext context, DateTime thisDate) async { + BuildContext context, + DateTime thisDate, +) async { List<DateTime> availableDates = _schoolCalendarManager.availableDates.value; bool isSelectableSchoolday(DateTime day) { @@ -23,19 +25,20 @@ Future<DateTime?> selectSchooldayDate( lastDate: DateTime.now().toUtc().toUtc().add(const Duration(days: 365)), builder: (context, child) { return Theme( - data: Theme.of(context).copyWith( - colorScheme: const ColorScheme.light( - primary: AppColors.backgroundColor, - onPrimary: Color.fromARGB(255, 241, 241, 241), - onSurface: Colors.deepPurple, - ), - textButtonTheme: TextButtonThemeData( - style: TextButton.styleFrom( - foregroundColor: AppColors.accentColor, // button text color - ), + data: Theme.of(context).copyWith( + colorScheme: const ColorScheme.light( + primary: AppColors.backgroundColor, + onPrimary: Color.fromARGB(255, 241, 241, 241), + onSurface: Colors.deepPurple, + ), + textButtonTheme: TextButtonThemeData( + style: TextButton.styleFrom( + foregroundColor: AppColors.accentColor, // button text color ), ), - child: child!); + ), + child: child!, + ); }, ); if (pickedDate != null) { diff --git a/school_data_hub_flutter/lib/core/session/hub_session_manager.dart b/school_data_hub_flutter/lib/core/session/hub_session_manager.dart index c7203cdc..01430d6d 100644 --- a/school_data_hub_flutter/lib/core/session/hub_session_manager.dart +++ b/school_data_hub_flutter/lib/core/session/hub_session_manager.dart @@ -52,6 +52,7 @@ class HubSessionManager with ChangeNotifier { bool get isReady => _isReady; String? get userName => _user?.userInfo?.userName; + bool get isTester => _user?.userFlags.isTester ?? false; int? get userCredit => _user?.credit; diff --git a/school_data_hub_flutter/lib/features/_attendance/domain/attendance_helper_functions.dart b/school_data_hub_flutter/lib/features/_attendance/domain/attendance_helper_functions.dart index ace233af..08951680 100644 --- a/school_data_hub_flutter/lib/features/_attendance/domain/attendance_helper_functions.dart +++ b/school_data_hub_flutter/lib/features/_attendance/domain/attendance_helper_functions.dart @@ -1,7 +1,7 @@ import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/schoolday_date_picker.dart'; import 'package:school_data_hub_flutter/features/_attendance/domain/attendance_manager.dart'; import 'package:school_data_hub_flutter/features/_attendance/domain/models/attendance_values.dart'; @@ -35,20 +35,18 @@ class AttendanceHelper { int missedGlobalSum = 0; final List<PupilProxy> allPupils = _pupilManager.allPupils; for (PupilProxy pupil in allPupils) { - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; if (missedSchooldays.isNotEmpty) { - missedGlobalSum += - missedSchooldays - .where( - (element) => - element.missedType == MissedType.missed || - element.missedType == MissedType.home || - element.returned == true, - ) - .length; + missedGlobalSum += missedSchooldays + .where( + (element) => + element.missedType == MissedType.missed || + element.missedType == MissedType.home || + element.returned == true, + ) + .length; } } return missedGlobalSum; @@ -58,20 +56,18 @@ class AttendanceHelper { int unexcusedGlobalSum = 0; final List<PupilProxy> allPupils = _pupilManager.allPupils; for (PupilProxy pupil in allPupils) { - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; if (missedSchooldays.isNotEmpty) { - unexcusedGlobalSum += - missedSchooldays - .where( - (element) => - element.missedType == MissedType.missed && - element.unexcused == true, - ) - .length; + unexcusedGlobalSum += missedSchooldays + .where( + (element) => + element.missedType == MissedType.missed && + element.unexcused == true, + ) + .length; } } return unexcusedGlobalSum; @@ -81,16 +77,14 @@ class AttendanceHelper { int lateGlobalSum = 0; final List<PupilProxy> allPupils = _pupilManager.allPupils; for (PupilProxy pupil in allPupils) { - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; if (missedSchooldays.isNotEmpty) { - lateGlobalSum += - missedSchooldays - .where((element) => element.missedType == MissedType.late) - .length; + lateGlobalSum += missedSchooldays + .where((element) => element.missedType == MissedType.late) + .length; } } return lateGlobalSum; @@ -100,16 +94,14 @@ class AttendanceHelper { int contactedGlobalSum = 0; final List<PupilProxy> allPupils = _pupilManager.allPupils; for (PupilProxy pupil in allPupils) { - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; if (missedSchooldays.isNotEmpty) { - contactedGlobalSum += - missedSchooldays - .where((element) => element.contacted != ContactedType.notSet) - .length; + contactedGlobalSum += missedSchooldays + .where((element) => element.contacted != ContactedType.notSet) + .length; } } return contactedGlobalSum; @@ -119,15 +111,13 @@ class AttendanceHelper { int pickedUpGlobalSum = 0; final List<PupilProxy> allPupils = _pupilManager.allPupils; for (PupilProxy pupil in allPupils) { - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; if (missedSchooldays.isNotEmpty) { - pickedUpGlobalSum += - missedSchooldays - .where((element) => element.returned == true) - .length; + pickedUpGlobalSum += missedSchooldays + .where((element) => element.returned == true) + .length; } } return pickedUpGlobalSum; @@ -142,10 +132,9 @@ class AttendanceHelper { List<PupilProxy> missedPupils = []; if (filteredPupils.isNotEmpty) { for (PupilProxy pupil in filteredPupils) { - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; if (missedSchooldays.any( (missedSchoolday) => missedSchoolday.schoolday!.schoolday.isSameDate(thisDate) && @@ -168,10 +157,9 @@ class AttendanceHelper { List<PupilProxy> unexcusedPupils = []; for (PupilProxy pupil in filteredPupils) { - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; if (missedSchooldays.any( (missedSchoolday) => missedSchoolday.schoolday!.schoolday.isSameDate(thisDate) && @@ -231,19 +219,17 @@ class AttendanceHelper { static int missedclassExcusedSum(PupilProxy pupil) { // count the number of missed classes - avoid null when missedSchooldays is empty int missedclassCount = 0; - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; if (missedSchooldays.isNotEmpty) { - missedclassCount = - missedSchooldays - .where( - (element) => - element.missedType == MissedType.missed && - element.unexcused == false, - ) - .length; + missedclassCount = missedSchooldays + .where( + (element) => + element.missedType == MissedType.missed && + element.unexcused == false, + ) + .length; } return missedclassCount; } @@ -251,77 +237,69 @@ class AttendanceHelper { static int missedclassUnexcusedSum(PupilProxy pupil) { // count the number of unexcused missed classes int missedclassCount = 0; - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; if (missedSchooldays.isNotEmpty) { - missedclassCount = - missedSchooldays - .where( - (element) => - element.missedType == MissedType.missed && - element.unexcused == true, - ) - .length; + missedclassCount = missedSchooldays + .where( + (element) => + element.missedType == MissedType.missed && + element.unexcused == true, + ) + .length; } return missedclassCount; } static int lateSum(PupilProxy pupil) { int lateCount = 0; - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; if (missedSchooldays.isNotEmpty) { - lateCount = - missedSchooldays - .where((element) => element.missedType == MissedType.late) - .length; + lateCount = missedSchooldays + .where((element) => element.missedType == MissedType.late) + .length; } return lateCount; } static int lateUnexcusedSum(PupilProxy pupil) { int missedSchooldayUnexcusedCount = 0; - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; if (missedSchooldays.isNotEmpty) { - missedSchooldayUnexcusedCount = - missedSchooldays - .where( - (element) => - element.missedType == MissedType.late && - element.unexcused == true, - ) - .length; + missedSchooldayUnexcusedCount = missedSchooldays + .where( + (element) => + element.missedType == MissedType.late && + element.unexcused == true, + ) + .length; } return missedSchooldayUnexcusedCount; } static int contactedSum(PupilProxy pupil) { - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; - int contactedCount = - missedSchooldays - .where((element) => element.contacted != ContactedType.notSet) - .length; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; + int contactedCount = missedSchooldays + .where((element) => element.contacted != ContactedType.notSet) + .length; return contactedCount; } static int goneHomeSum(PupilProxy pupil) { - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; - int goneHomeCount = - missedSchooldays.where((element) => element.returned == true).length; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; + int goneHomeCount = missedSchooldays + .where((element) => element.returned == true) + .length; return goneHomeCount; } @@ -329,10 +307,9 @@ class AttendanceHelper { //- check condition functions static bool pupilIsMissedToday(PupilProxy pupil) { - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; if (missedSchooldays.isEmpty) return false; if (missedSchooldays.any( (element) => @@ -414,10 +391,9 @@ class AttendanceHelper { // The function returns absence hours and unexcused hours for the current semester // (for grades 3 and 4) // in the last semester for the school year (for grades 1 and 2) - final missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + final missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; // if no missed classes, we return 0, 0 if (missedSchooldays.isEmpty) { return (missed: 0, unexcused: 0); @@ -434,17 +410,13 @@ class AttendanceHelper { ) ?? schoolSemesters.last; - final List<MissedSchoolday> missedSchooldaysThisSemester = - missedSchooldays - .where( - (missedSchoolday) => - isMissedSchooldayinSemester( - missedSchoolday, - currentSemester, - ) && - missedSchoolday.missedType == MissedType.missed, - ) - .toList(); + final List<MissedSchoolday> missedSchooldaysThisSemester = missedSchooldays + .where( + (missedSchoolday) => + isMissedSchooldayinSemester(missedSchoolday, currentSemester) && + missedSchoolday.missedType == MissedType.missed, + ) + .toList(); final List<MissedSchoolday> unexcusedMissedSchooldayesThisSemester = missedSchooldaysThisSemester .where((missedSchoolday) => missedSchoolday.unexcused == true) diff --git a/school_data_hub_flutter/lib/features/_attendance/domain/attendance_manager.dart b/school_data_hub_flutter/lib/features/_attendance/domain/attendance_manager.dart index 0bef9c80..10e9a922 100644 --- a/school_data_hub_flutter/lib/features/_attendance/domain/attendance_manager.dart +++ b/school_data_hub_flutter/lib/features/_attendance/domain/attendance_manager.dart @@ -4,7 +4,7 @@ import 'package:collection/collection.dart'; import 'package:flutter/foundation.dart'; import 'package:logging/logging.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/core/session/hub_session_manager.dart'; import 'package:school_data_hub_flutter/features/_attendance/data/attendance_api_service.dart'; @@ -62,7 +62,9 @@ class AttendanceManager with ChangeNotifier { MissedSchoolday? getPupilMissedSchooldayOnDate(int pupilId, DateTime date) { return _pupilMissedSchooldaysMap[pupilId]!.missedSchooldays .firstWhereOrNull( - (element) => element.schoolday!.schoolday.isSameDate(date), + (element) => element.schoolday!.schoolday.isSameDate( + date.formatToUtcForServer(), + ), ); } diff --git a/school_data_hub_flutter/lib/features/_attendance/domain/filters/attendance_pupil_filter.dart b/school_data_hub_flutter/lib/features/_attendance/domain/filters/attendance_pupil_filter.dart index 9691f29f..d870a951 100644 --- a/school_data_hub_flutter/lib/features/_attendance/domain/filters/attendance_pupil_filter.dart +++ b/school_data_hub_flutter/lib/features/_attendance/domain/filters/attendance_pupil_filter.dart @@ -1,7 +1,7 @@ import 'package:collection/collection.dart'; import 'package:flutter/foundation.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/domain/filters/filters_state_manager.dart'; import 'package:school_data_hub_flutter/features/_attendance/domain/attendance_manager.dart'; import 'package:school_data_hub_flutter/features/_attendance/domain/models/enums.dart'; diff --git a/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/attendance_list_page.dart b/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/attendance_list_page.dart index 79dea4c7..6efe8f0a 100644 --- a/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/attendance_list_page.dart +++ b/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/attendance_list_page.dart @@ -4,7 +4,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:logging/logging.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/generic_components/generic_sliver_list.dart'; @@ -58,8 +58,9 @@ class AttendanceListPage extends WatchingWidget { value.cancel(); }, ); - DateTime thisDate = - watchValue((SchoolCalendarManager x) => x.thisDate).toLocal(); + DateTime thisDate = watchValue( + (SchoolCalendarManager x) => x.thisDate, + ).toLocal(); callOnce((context) { _attendanceManager.fetchMissedSchooldayesOnASchoolday(thisDate); @@ -80,15 +81,14 @@ class AttendanceListPage extends WatchingWidget { children: [ Icon( Icons.today_rounded, - color: - AttendanceHelper.schooldayIsToday(thisDate) - ? const Color.fromARGB(255, 83, 196, 55) - : Colors.white, + color: AttendanceHelper.schooldayIsToday(thisDate) + ? const Color.fromARGB(255, 83, 196, 55) + : Colors.white, size: 30, ), const Gap(10), Text( - '${thisDate.asWeekdayName(context)}, ${thisDate.formatForUser()}', + '${thisDate.asWeekdayName(context)}, ${thisDate.formatDateForUser()}', style: const TextStyle( fontSize: 25, color: Colors.white, @@ -101,9 +101,8 @@ class AttendanceListPage extends WatchingWidget { automaticallyImplyLeading: false, ), body: RefreshIndicator( - onRefresh: - () async => - _attendanceManager.fetchMissedSchooldayesOnASchoolday(thisDate), + onRefresh: () async => + _attendanceManager.fetchMissedSchooldayesOnASchoolday(thisDate), child: Center( child: ConstrainedBox( constraints: const BoxConstraints(maxWidth: 600), diff --git a/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/widgets/atendance_list_card.dart b/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/widgets/atendance_list_card.dart index 113845e4..3c9762a8 100644 --- a/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/widgets/atendance_list_card.dart +++ b/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/widgets/atendance_list_card.dart @@ -4,7 +4,7 @@ import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/long_textfield_dialog.dart'; @@ -37,12 +37,13 @@ class AttendanceCard extends WatchingWidget { final missedSchooldaysList = _attendanceManager .getPupilMissedSchooldaysProxy(pupil.pupilId); - final MissedSchoolday? missedSchoolday = watch( - missedSchooldaysList, - ).missedSchooldays.firstWhereOrNull( - (element) => - element.schoolday?.schoolday.isSameDate(thisDate.toLocal()) ?? false, - ); + final MissedSchoolday? missedSchoolday = watch(missedSchooldaysList) + .missedSchooldays + .firstWhereOrNull( + (element) => + element.schoolday?.schoolday.isSameDate(thisDate.toLocal()) ?? + false, + ); AttendanceValues attendanceInfo = AttendanceHelper.getAttendanceValues( missedSchoolday, @@ -74,8 +75,8 @@ class AttendanceCard extends WatchingWidget { AvatarWithBadges(pupil: pupil, size: 80), Expanded( child: GestureDetector( - onLongPress: - () => createMissedSchooldayList(context, pupil), + onLongPress: () => + createMissedSchooldayList(context, pupil), onTap: () { Navigator.of(context).push( MaterialPageRoute( @@ -102,10 +103,8 @@ class AttendanceCard extends WatchingWidget { ); Navigator.of(context).pushReplacement( MaterialPageRoute( - builder: - (ctx) => PupilProfilePage( - pupil: pupil, - ), + builder: (ctx) => + PupilProfilePage(pupil: pupil), ), ); }, @@ -192,39 +191,42 @@ class AttendanceCard extends WatchingWidget { ContactedType.notSet || attendanceInfo.returnedValue == true ? DropdownButtonHideUnderline( - child: DropdownButton<ContactedType>( - icon: const Visibility( - visible: false, - child: Icon(Icons.arrow_downward), + child: DropdownButton<ContactedType>( + icon: const Visibility( + visible: false, + child: Icon(Icons.arrow_downward), + ), + onTap: () { + FocusManager.instance.primaryFocus! + .unfocus(); + }, + value: + attendanceInfo.contactedTypeValue, + items: dropdownContactedMenuItems, + onChanged: (newValue) { + if (attendanceInfo + .contactedTypeValue == + newValue || + attendanceInfo.unexcusedValue == + false) { + return; + } + _attendanceManager + .updateContactedValue( + pupil.pupilId, + newValue!, + thisDate, + ); + }, ), - onTap: () { - FocusManager.instance.primaryFocus! - .unfocus(); - }, - value: attendanceInfo.contactedTypeValue, - items: dropdownContactedMenuItems, - onChanged: (newValue) { - if (attendanceInfo.contactedTypeValue == - newValue || - attendanceInfo.unexcusedValue == - false) { - return; - } - _attendanceManager.updateContactedValue( - pupil.pupilId, - newValue!, - thisDate, - ); - }, - ), - ) + ) : Container( - height: 45, - width: 30, - decoration: const BoxDecoration( - color: Colors.white, + height: 45, + width: 30, + decoration: const BoxDecoration( + color: Colors.white, + ), ), - ), const Gap(4), Checkbox( checkColor: Colors.white, @@ -274,17 +276,17 @@ class AttendanceCard extends WatchingWidget { child: Center( child: attendanceInfo.createdOrModifiedByValue != - null - ? Text( - attendanceInfo - .createdOrModifiedByValue!, - textAlign: TextAlign.center, - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 16, - ), - ) - : const SizedBox.shrink(), + null + ? Text( + attendanceInfo + .createdOrModifiedByValue!, + textAlign: TextAlign.center, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 16, + ), + ) + : const SizedBox.shrink(), ), ), Row( @@ -428,8 +430,8 @@ class AttendanceCard extends WatchingWidget { AvatarWithBadges(pupil: pupil, size: 80), Expanded( child: GestureDetector( - onLongPress: - () => createMissedSchooldayList(context, pupil), + onLongPress: () => + createMissedSchooldayList(context, pupil), onTap: () { Navigator.of(context).push( MaterialPageRoute( @@ -456,9 +458,8 @@ class AttendanceCard extends WatchingWidget { ); Navigator.of(context).pushReplacement( MaterialPageRoute( - builder: - (ctx) => - PupilProfilePage(pupil: pupil), + builder: (ctx) => + PupilProfilePage(pupil: pupil), ), ); }, @@ -559,18 +560,18 @@ class AttendanceCard extends WatchingWidget { child: Center( child: attendanceInfo - .createdOrModifiedByValue != - null - ? Text( - attendanceInfo - .createdOrModifiedByValue!, - textAlign: TextAlign.center, - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 16, - ), - ) - : const SizedBox.shrink(), + .createdOrModifiedByValue != + null + ? Text( + attendanceInfo + .createdOrModifiedByValue!, + textAlign: TextAlign.center, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 16, + ), + ) + : const SizedBox.shrink(), ), ), ], @@ -624,42 +625,42 @@ class AttendanceCard extends WatchingWidget { ContactedType.notSet || attendanceInfo.returnedValue == true ? DropdownButtonHideUnderline( - child: DropdownButton<ContactedType>( - icon: const Visibility( - visible: false, - child: Icon(Icons.arrow_downward), + child: DropdownButton<ContactedType>( + icon: const Visibility( + visible: false, + child: Icon(Icons.arrow_downward), + ), + onTap: () { + FocusManager.instance.primaryFocus! + .unfocus(); + }, + value: + attendanceInfo.contactedTypeValue, + items: dropdownContactedMenuItems, + onChanged: (newValue) { + if (attendanceInfo + .contactedTypeValue == + newValue || + attendanceInfo.unexcusedValue == + false) { + return; + } + _attendanceManager + .updateContactedValue( + pupil.pupilId, + newValue!, + thisDate, + ); + }, ), - onTap: () { - FocusManager.instance.primaryFocus! - .unfocus(); - }, - value: - attendanceInfo.contactedTypeValue, - items: dropdownContactedMenuItems, - onChanged: (newValue) { - if (attendanceInfo - .contactedTypeValue == - newValue || - attendanceInfo.unexcusedValue == - false) { - return; - } - _attendanceManager - .updateContactedValue( - pupil.pupilId, - newValue!, - thisDate, - ); - }, - ), - ) + ) : Container( - height: 48, - width: 30, - decoration: const BoxDecoration( - color: Colors.white, + height: 48, + width: 30, + decoration: const BoxDecoration( + color: Colors.white, + ), ), - ), const Gap(2), Container( width: 20.0, diff --git a/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/widgets/attendance_filters.dart b/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/widgets/attendance_filters.dart index 844531e3..47db4da3 100644 --- a/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/widgets/attendance_filters.dart +++ b/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/widgets/attendance_filters.dart @@ -32,9 +32,9 @@ class AttendanceFilters extends WatchingWidget { (PupilFilterManager x) => x.pupilFilterState, ); - bool valueOgs = activePupilFilters[PupilFilter.ogs]!; + bool valueOgs = activePupilFilters[PupilFilter.afterSchoolCare]!; - bool valueNotOgs = activePupilFilters[PupilFilter.notOgs]!; + bool valueNotOgs = activePupilFilters[PupilFilter.noAfterSchoolCare]!; return Column( children: [ @@ -159,15 +159,17 @@ class AttendanceFilters extends WatchingWidget { _pupilFilterLocator.setPupilFilter( pupilFilterRecords: [ - (filter: PupilFilter.notOgs, value: false), - (filter: PupilFilter.ogs, value: val), + (filter: PupilFilter.noAfterSchoolCare, value: false), + (filter: PupilFilter.afterSchoolCare, value: val), ], ); return; } _pupilFilterLocator.setPupilFilter( - pupilFilterRecords: [(filter: PupilFilter.ogs, value: val)], + pupilFilterRecords: [ + (filter: PupilFilter.afterSchoolCare, value: val), + ], ); }, ), @@ -179,15 +181,15 @@ class AttendanceFilters extends WatchingWidget { // in case not ogs is selected, ogs should be deselected _pupilFilterLocator.setPupilFilter( pupilFilterRecords: [ - (filter: PupilFilter.ogs, value: false), - (filter: PupilFilter.notOgs, value: val), + (filter: PupilFilter.afterSchoolCare, value: false), + (filter: PupilFilter.noAfterSchoolCare, value: val), ], ); return; } _pupilFilterLocator.setPupilFilter( pupilFilterRecords: [ - (filter: PupilFilter.notOgs, value: val), + (filter: PupilFilter.noAfterSchoolCare, value: val), ], ); }, diff --git a/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/widgets/dialogues/multiple_entries_dialog.dart b/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/widgets/dialogues/multiple_entries_dialog.dart index 6acd4db0..f7c383c4 100644 --- a/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/widgets/dialogues/multiple_entries_dialog.dart +++ b/school_data_hub_flutter/lib/features/_attendance/presentation/attendance_page/widgets/dialogues/multiple_entries_dialog.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/schoolday_date_picker.dart'; @@ -19,166 +19,197 @@ final _schoolCalendarManager = di<SchoolCalendarManager>(); // based on https://mobikul.com/creating-stateful-dialog-form-in-flutter/ Future<void> createMissedSchooldayList( - BuildContext context, PupilProxy pupil) async { + BuildContext context, + PupilProxy pupil, +) async { final DateTime thisDate = _schoolCalendarManager.thisDate.value; return await showDialog( - context: context, - builder: (context) { - // final schoolCalendarManager = di<SchooldayManager>(); - // schoolCalendarManager.setStartDate(thisDate); - // schoolCalendarManager.setEndDate(thisDate); - MissedType dialogdropdownValue = MissedType.missed; - DateTime startDate = thisDate; - DateTime endDate = thisDate; + context: context, + builder: (context) { + // final schoolCalendarManager = di<SchooldayManager>(); + // schoolCalendarManager.setStartDate(thisDate); + // schoolCalendarManager.setEndDate(thisDate); + MissedType dialogdropdownValue = MissedType.missed; + DateTime startDate = thisDate; + DateTime endDate = thisDate; - return StatefulBuilder(builder: (context, setState) { + return StatefulBuilder( + builder: (context, setState) { return AlertDialog( content: Form( - key: _missedDatesformKey, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Padding( - padding: const EdgeInsets.all(8.0), - child: DropdownButtonHideUnderline( - child: DropdownButton<MissedType>( - onTap: () { - FocusManager.instance.primaryFocus!.unfocus(); - }, - value: dialogdropdownValue, - items: [ - DropdownMenuItem( - value: MissedType.missed, - child: Container( - width: 40.0, - height: 40.0, - decoration: BoxDecoration( - color: Colors.orange[300], - shape: BoxShape.circle, - ), - child: const Center( - child: Text("F", - textAlign: TextAlign.center, - style: TextStyle( - color: Colors.black, - fontWeight: FontWeight.bold, - fontSize: 24, - )), - ), - )), - DropdownMenuItem( - value: MissedType.home, - child: Container( - width: 40.0, - height: 40.0, - decoration: const BoxDecoration( - color: Colors.lightBlue, - shape: BoxShape.circle, - ), - child: const Center( - child: Text("H", - textAlign: TextAlign.center, - style: TextStyle( - color: Colors.black, - fontWeight: FontWeight.bold, - fontSize: 24, - )), - ), - )), - ], - onChanged: (newvalue) { - setState(() { - dialogdropdownValue = newvalue!; - }); - }), - ), - ), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text('von', - style: TextStyle( - fontSize: 22, fontWeight: FontWeight.bold)), - const Gap(15), - InkWell( - onTap: () async { - final DateTime? date = - await selectSchooldayDate(context, thisDate); - if (date != null) { - setState(() { - startDate = date; - }); - } - }, - child: Text( - startDate.formatForUser(), - style: const TextStyle( - color: AppColors.interactiveColor, - fontWeight: FontWeight.bold, - fontSize: 22, + key: _missedDatesformKey, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: DropdownButtonHideUnderline( + child: DropdownButton<MissedType>( + onTap: () { + FocusManager.instance.primaryFocus!.unfocus(); + }, + value: dialogdropdownValue, + items: [ + DropdownMenuItem( + value: MissedType.missed, + child: Container( + width: 40.0, + height: 40.0, + decoration: BoxDecoration( + color: Colors.orange[300], + shape: BoxShape.circle, ), - )), - const Gap(5), - IconButton( - onPressed: () async { - final DateTime? date = - await selectSchooldayDate(context, thisDate); - if (date != null) { - setState(() { - startDate = date; - }); - } - }, - icon: const Icon( - Icons.calendar_today, - color: AppColors.interactiveColor, - )), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text('bis', - style: TextStyle( - fontSize: 22, fontWeight: FontWeight.bold)), - const Gap(15), - InkWell( - onTap: () async { - final DateTime? date = - await selectSchooldayDate(context, thisDate); - if (date != null) { - setState(() { - endDate = date; - }); - } - }, - child: Text( - endDate.formatForUser(), - style: const TextStyle( - color: AppColors.interactiveColor, - fontWeight: FontWeight.bold, - fontSize: 22, + child: const Center( + child: Text( + "F", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: 24, + ), + ), + ), + ), + ), + DropdownMenuItem( + value: MissedType.home, + child: Container( + width: 40.0, + height: 40.0, + decoration: const BoxDecoration( + color: Colors.lightBlue, + shape: BoxShape.circle, + ), + child: const Center( + child: Text( + "H", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: 24, + ), + ), ), - )), - const Gap(5), - IconButton( - onPressed: () async { - final DateTime? date = - await selectSchooldayDate(context, thisDate); - if (date != null) { - setState(() { - endDate = date; - }); - } - }, - icon: const Icon( - Icons.calendar_today, - color: AppColors.interactiveColor, - )), - ], + ), + ), + ], + onChanged: (newvalue) { + setState(() { + dialogdropdownValue = newvalue!; + }); + }, + ), ), - ], - )), + ), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text( + 'von', + style: TextStyle( + fontSize: 22, + fontWeight: FontWeight.bold, + ), + ), + const Gap(15), + InkWell( + onTap: () async { + final DateTime? date = await selectSchooldayDate( + context, + thisDate, + ); + if (date != null) { + setState(() { + startDate = date; + }); + } + }, + child: Text( + startDate.formatDateForUser(), + style: const TextStyle( + color: AppColors.interactiveColor, + fontWeight: FontWeight.bold, + fontSize: 22, + ), + ), + ), + const Gap(5), + IconButton( + onPressed: () async { + final DateTime? date = await selectSchooldayDate( + context, + thisDate, + ); + if (date != null) { + setState(() { + startDate = date; + }); + } + }, + icon: const Icon( + Icons.calendar_today, + color: AppColors.interactiveColor, + ), + ), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text( + 'bis', + style: TextStyle( + fontSize: 22, + fontWeight: FontWeight.bold, + ), + ), + const Gap(15), + InkWell( + onTap: () async { + final DateTime? date = await selectSchooldayDate( + context, + thisDate, + ); + if (date != null) { + setState(() { + endDate = date; + }); + } + }, + child: Text( + endDate.formatDateForUser(), + style: const TextStyle( + color: AppColors.interactiveColor, + fontWeight: FontWeight.bold, + fontSize: 22, + ), + ), + ), + const Gap(5), + IconButton( + onPressed: () async { + final DateTime? date = await selectSchooldayDate( + context, + thisDate, + ); + if (date != null) { + setState(() { + endDate = date; + }); + } + }, + icon: const Icon( + Icons.calendar_today, + color: AppColors.interactiveColor, + ), + ), + ], + ), + ], + ), + ), title: const Text( 'Mehrere Einträge', style: TextStyle(fontWeight: FontWeight.bold), @@ -208,22 +239,22 @@ Future<void> createMissedSchooldayList( onPressed: () { if (_missedDatesformKey.currentState!.validate()) { _attendanceManager.postManyMissedSchooldayes( - pupil.internalId, - startDate, - endDate, - dialogdropdownValue); + pupil.internalId, + startDate, + endDate, + dialogdropdownValue, + ); _missedDatesformKey.currentState!.reset(); Navigator.of(context).pop(); } }, // Add onPressed - child: const Text( - "OK", - style: AppStyles.buttonTextStyle, - ), + child: const Text("OK", style: AppStyles.buttonTextStyle), ), ), ], ); - }); - }); + }, + ); + }, + ); } diff --git a/school_data_hub_flutter/lib/features/_attendance/presentation/missed_classes_pupil_list_page/missed_classes_pupil_list_page.dart b/school_data_hub_flutter/lib/features/_attendance/presentation/missed_classes_pupil_list_page/missed_classes_pupil_list_page.dart index 3179de27..62132934 100644 --- a/school_data_hub_flutter/lib/features/_attendance/presentation/missed_classes_pupil_list_page/missed_classes_pupil_list_page.dart +++ b/school_data_hub_flutter/lib/features/_attendance/presentation/missed_classes_pupil_list_page/missed_classes_pupil_list_page.dart @@ -22,7 +22,9 @@ class MissedSchooldayesPupilListPage extends WatchingWidget { return Scaffold( backgroundColor: AppColors.canvasColor, appBar: const GenericAppBar( - iconData: Icons.calendar_month_rounded, title: 'Fehlzeiten'), + iconData: Icons.calendar_month_rounded, + title: 'Fehlzeiten', + ), body: RefreshIndicator( onRefresh: () async => di<PupilManager>().fetchAllPupils(), child: Center( @@ -36,9 +38,9 @@ class MissedSchooldayesPupilListPage extends WatchingWidget { title: AttendanceRankingListSearchbar(pupils: pupils), ), GenericSliverListWithEmptyListCheck( - items: pupils, - itemBuilder: (_, pupil) => - AttendanceRankingListCard(pupil)), + items: pupils, + itemBuilder: (_, pupil) => MissedClassesPupilListCard(pupil), + ), ], ), ), diff --git a/school_data_hub_flutter/lib/features/_attendance/presentation/missed_classes_pupil_list_page/widgets/missed_classes_pupil_list_card.dart b/school_data_hub_flutter/lib/features/_attendance/presentation/missed_classes_pupil_list_page/widgets/missed_classes_pupil_list_card.dart index 9bb245bc..bdce91c3 100644 --- a/school_data_hub_flutter/lib/features/_attendance/presentation/missed_classes_pupil_list_page/widgets/missed_classes_pupil_list_card.dart +++ b/school_data_hub_flutter/lib/features/_attendance/presentation/missed_classes_pupil_list_page/widgets/missed_classes_pupil_list_card.dart @@ -14,16 +14,17 @@ import 'package:school_data_hub_flutter/features/pupil/presentation/widgets/avat import 'package:school_data_hub_flutter/features/pupil/presentation/widgets/pupil_profile_attendance_content.dart'; import 'package:watch_it/watch_it.dart'; -class AttendanceRankingListCard extends WatchingStatefulWidget { +class MissedClassesPupilListCard extends WatchingStatefulWidget { final PupilProxy pupil; - const AttendanceRankingListCard(this.pupil, {super.key}); + const MissedClassesPupilListCard(this.pupil, {super.key}); @override - State<AttendanceRankingListCard> createState() => + State<MissedClassesPupilListCard> createState() => _AttendanceRankingListCardState(); } -class _AttendanceRankingListCardState extends State<AttendanceRankingListCard> { +class _AttendanceRankingListCardState + extends State<MissedClassesPupilListCard> { late CustomExpansionTileController _tileController; @override void initState() { @@ -41,8 +42,12 @@ class _AttendanceRankingListCardState extends State<AttendanceRankingListCard> { surfaceTintColor: Colors.white, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), elevation: 1.0, - margin: - const EdgeInsets.only(left: 4.0, right: 4.0, top: 4.0, bottom: 4.0), + margin: const EdgeInsets.only( + left: 4.0, + right: 4.0, + top: 4.0, + bottom: 4.0, + ), child: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ @@ -69,14 +74,16 @@ class _AttendanceRankingListCardState extends State<AttendanceRankingListCard> { onTap: () { di<BottomNavManager>() .setPupilProfileNavPage( - ProfileNavigationState - .attendance.value); - Navigator.of(context) - .push(MaterialPageRoute( - builder: (ctx) => PupilProfilePage( - pupil: pupil, + ProfileNavigationState + .attendance + .value, + ); + Navigator.of(context).push( + MaterialPageRoute( + builder: (ctx) => + PupilProfilePage(pupil: pupil), ), - )); + ); }, child: Row( children: [ @@ -119,12 +126,12 @@ class _AttendanceRankingListCardState extends State<AttendanceRankingListCard> { child: SingleChildScrollView( scrollDirection: Axis.horizontal, child: CustomExpansionTileSwitch( - customExpansionTileController: - _tileController, - includeSwitch: true, - switchColor: AppColors.interactiveColor, - expansionSwitchWidget: - attendanceStats(pupil)), + customExpansionTileController: + _tileController, + includeSwitch: true, + switchColor: AppColors.interactiveColor, + expansionSwitchWidget: attendanceStats(pupil), + ), ), ), const Gap(10), @@ -174,9 +181,10 @@ class _AttendanceRankingListCardState extends State<AttendanceRankingListCard> { ], ), CustomExpansionTileContent( - title: null, - tileController: _tileController, - widgetList: [PupilAttendanceContent(pupil: pupil)]), + title: null, + tileController: _tileController, + widgetList: [PupilAttendanceContent(pupil: pupil)], + ), ], ), ); diff --git a/school_data_hub_flutter/lib/features/_schoolday_events/data/schoolday_event_api_service.dart b/school_data_hub_flutter/lib/features/_schoolday_events/data/schoolday_event_api_service.dart index ceb2ed47..f8a891da 100644 --- a/school_data_hub_flutter/lib/features/_schoolday_events/data/schoolday_event_api_service.dart +++ b/school_data_hub_flutter/lib/features/_schoolday_events/data/schoolday_event_api_service.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:logging/logging.dart'; import 'package:path/path.dart' as p; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/domain/models/nullable_records.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/core/session/hub_session_manager.dart'; @@ -19,8 +19,10 @@ class SchooldayEventApiService { //- post schooldayEvent Future<SchooldayEvent> postSchooldayEvent( + String pupilName, int pupilId, int schooldayId, + DateTime dateTime, SchooldayEventType type, String reason, ) async { @@ -30,6 +32,8 @@ class SchooldayEventApiService { final tutor = pupil?.groupTutor; try { final event = await _client.schooldayEvent.createSchooldayEvent( + pupilNameAndGroup: pupilName, + dateTimeAsString: dateTime.formatDateAndTimeForUser(), pupilId: pupilId, schooldayId: schooldayId, type: type, @@ -85,7 +89,7 @@ class SchooldayEventApiService { if (processed == true && processedBy == null && processedAt == null) { processedBy = (value: _hubSessionManager.user!.userInfo!.userName!); - processedAt = (value: DateTime.now().toUtcForServer()); + processedAt = (value: DateTime.now().formatToUtcForServer()); } // if the schooldayEvent is patched as not processed, diff --git a/school_data_hub_flutter/lib/features/_schoolday_events/domain/schoolday_event_helper_functions.dart b/school_data_hub_flutter/lib/features/_schoolday_events/domain/schoolday_event_helper_functions.dart index 1ba47a07..b66a255d 100644 --- a/school_data_hub_flutter/lib/features/_schoolday_events/domain/schoolday_event_helper_functions.dart +++ b/school_data_hub_flutter/lib/features/_schoolday_events/domain/schoolday_event_helper_functions.dart @@ -1,5 +1,5 @@ import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/core/session/hub_session_manager.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/filters/pupils_filter.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; @@ -21,12 +21,13 @@ class SchooldayEventsCounts { final int totalSentHomeSchooldayEvents; final int totalParentsMeetingSchooldayEvents; - SchooldayEventsCounts( - {required this.totalSchooldayEvents, - required this.totalLessonSchooldayEvents, - required this.totalOgsSchooldayEvents, - required this.totalSentHomeSchooldayEvents, - required this.totalParentsMeetingSchooldayEvents}); + SchooldayEventsCounts({ + required this.totalSchooldayEvents, + required this.totalLessonSchooldayEvents, + required this.totalOgsSchooldayEvents, + required this.totalSentHomeSchooldayEvents, + required this.totalParentsMeetingSchooldayEvents, + }); } class SchoolDayEventHelper { @@ -35,11 +36,13 @@ class SchoolDayEventHelper { int pupilsWithEvents = 0; for (PupilProxy pupil in pupils) { if (_schooldayEventFilterManager - .filteredSchooldayEvents(_schooldayEventManager - .getPupilSchooldayEventsProxy(pupil.pupilId) - .schooldayEvents - .values - .toList()) + .filteredSchooldayEvents( + _schooldayEventManager + .getPupilSchooldayEventsProxy(pupil.pupilId) + .schooldayEvents + .values + .toList(), + ) .isNotEmpty) { pupilsWithEvents++; } @@ -49,11 +52,13 @@ class SchoolDayEventHelper { static int schooldayEventSum(PupilProxy pupil) { return _schooldayEventFilterManager - .filteredSchooldayEvents(_schooldayEventManager - .getPupilSchooldayEventsProxy(pupil.pupilId) - .schooldayEvents - .values - .toList()) + .filteredSchooldayEvents( + _schooldayEventManager + .getPupilSchooldayEventsProxy(pupil.pupilId) + .schooldayEvents + .values + .toList(), + ) .length; } @@ -68,11 +73,13 @@ class SchoolDayEventHelper { static DateTime getPupilLastSchooldayEventDate(PupilProxy pupil) { final List<SchooldayEvent> schooldayEvents = _schooldayEventFilterManager - .filteredSchooldayEvents(_schooldayEventManager - .getPupilSchooldayEventsProxy(pupil.pupilId) - .schooldayEvents - .values - .toList()); + .filteredSchooldayEvents( + _schooldayEventManager + .getPupilSchooldayEventsProxy(pupil.pupilId) + .schooldayEvents + .values + .toList(), + ); if (schooldayEvents.isEmpty) { // TODO: Watch out - why did we use this date? // if schoolday events is empty, we return a mock date @@ -83,7 +90,8 @@ class SchoolDayEventHelper { static int? findSchooldayEventIndex(PupilProxy pupil, DateTime date) { final int? foundSchooldayEventIndex = pupil.schooldayEvents?.indexWhere( - (datematch) => (datematch.schoolday!.schoolday.isSameDate(date))); + (datematch) => (datematch.schoolday!.schoolday.isSameDate(date)), + ); if (foundSchooldayEventIndex == null) { return null; } @@ -95,18 +103,21 @@ class SchoolDayEventHelper { .getPupilSchooldayEventsProxy(pupil.pupilId) .schooldayEvents; if (pupilSchooldayEvents.isEmpty) return false; - if (pupilSchooldayEvents.values.any((element) => - element.schoolday!.schoolday.isSameDate(DateTime.now()) && - (element.eventType == SchooldayEventType.admonition || - element.eventType == SchooldayEventType.afternoonCareAdmonition || - element.eventType == SchooldayEventType.admonitionAndBanned))) { + if (pupilSchooldayEvents.values.any( + (element) => + element.schoolday!.schoolday.isSameDate(DateTime.now()) && + (element.eventType == SchooldayEventType.admonition || + element.eventType == SchooldayEventType.afternoonCareAdmonition || + element.eventType == SchooldayEventType.admonitionAndBanned), + )) { return true; } return false; } static SchooldayEventsCounts getSchooldayEventsCounts( - List<PupilProxy> pupils) { + List<PupilProxy> pupils, + ) { int totalSchooldayEvents = 0; int teachingSchooldayEvents = 0; int ogsSchooldayEvents = 0; @@ -115,47 +126,62 @@ class SchoolDayEventHelper { for (PupilProxy pupil in pupils) { final pupilSchooldayEvents = _schooldayEventFilterManager - .filteredSchooldayEvents(_schooldayEventManager - .getPupilSchooldayEventsProxy(pupil.pupilId) - .schooldayEvents - .values - .toList()); + .filteredSchooldayEvents( + _schooldayEventManager + .getPupilSchooldayEventsProxy(pupil.pupilId) + .schooldayEvents + .values + .toList(), + ); totalSchooldayEvents = totalSchooldayEvents + pupilSchooldayEvents.length; - teachingSchooldayEvents = teachingSchooldayEvents + + teachingSchooldayEvents = + teachingSchooldayEvents + pupilSchooldayEvents - .where((element) => - element.eventType == SchooldayEventType.admonition) + .where( + (element) => element.eventType == SchooldayEventType.admonition, + ) .length; - ogsSchooldayEvents = ogsSchooldayEvents + + ogsSchooldayEvents = + ogsSchooldayEvents + pupilSchooldayEvents - .where((element) => - element.eventType == - SchooldayEventType.afternoonCareAdmonition) + .where( + (element) => + element.eventType == + SchooldayEventType.afternoonCareAdmonition, + ) .length; - sentHomeSchooldayEvents = sentHomeSchooldayEvents + + sentHomeSchooldayEvents = + sentHomeSchooldayEvents + pupilSchooldayEvents - .where((element) => - element.eventType == SchooldayEventType.admonitionAndBanned) + .where( + (element) => + element.eventType == SchooldayEventType.admonitionAndBanned, + ) .length; - parentsMeetingSchooldayEvents = parentsMeetingSchooldayEvents + + parentsMeetingSchooldayEvents = + parentsMeetingSchooldayEvents + pupilSchooldayEvents - .where((element) => - element.eventType == SchooldayEventType.parentsMeeting) + .where( + (element) => + element.eventType == SchooldayEventType.parentsMeeting, + ) .length; } return SchooldayEventsCounts( - totalSchooldayEvents: totalSchooldayEvents, - totalLessonSchooldayEvents: teachingSchooldayEvents, - totalOgsSchooldayEvents: ogsSchooldayEvents, - totalSentHomeSchooldayEvents: sentHomeSchooldayEvents, - totalParentsMeetingSchooldayEvents: parentsMeetingSchooldayEvents); + totalSchooldayEvents: totalSchooldayEvents, + totalLessonSchooldayEvents: teachingSchooldayEvents, + totalOgsSchooldayEvents: ogsSchooldayEvents, + totalSentHomeSchooldayEvents: sentHomeSchooldayEvents, + totalParentsMeetingSchooldayEvents: parentsMeetingSchooldayEvents, + ); } static DateTime getLastSchoolEventDate(List<SchooldayEvent> schooldayEvents) { schooldayEvents.sort( - (a, b) => b.schoolday!.schoolday.compareTo(a.schoolday!.schoolday)); + (a, b) => b.schoolday!.schoolday.compareTo(a.schoolday!.schoolday), + ); return schooldayEvents.first.schoolday!.schoolday; } @@ -174,7 +200,7 @@ class SchoolDayEventHelper { return schooldayEvents; } -//- TODO: this should use SchooldavEventType enum + //- TODO: this should use SchooldavEventType enum static String getSchooldayEventTypeText(SchooldayEventType value) { switch (value) { @@ -258,19 +284,21 @@ class SchoolDayEventHelper { (b.schooldayEvents?.isEmpty ?? true) ? compareLastSchooldayEventDates(a, b) // Handle empty or both empty : (a.schooldayEvents?.isEmpty ?? true) - ? 1 - : -1; // Place empty after non-empty + ? 1 + : -1; // Place empty after non-empty } static int comparePupilsByLastNonProcessedSchooldayEvent( - PupilProxy a, PupilProxy b) { + PupilProxy a, + PupilProxy b, + ) { // Handle potential null cases with null-aware operators return (a.schooldayEvents?.isEmpty ?? true) == (b.schooldayEvents?.isEmpty ?? true) ? compareLastSchooldayEventDates(a, b) // Handle empty or both empty : (a.schooldayEvents?.isEmpty ?? true) - ? 1 - : -1; // Place empty after non-empty + ? 1 + : -1; // Place empty after non-empty } static int compareLastSchooldayEventDates(PupilProxy a, PupilProxy b) { @@ -278,8 +306,9 @@ class SchoolDayEventHelper { if (a.schooldayEvents!.isNotEmpty && b.schooldayEvents!.isNotEmpty) { final schooldayEventA = a.schooldayEvents!.last.schoolday!.schoolday; final schooldayEventB = b.schooldayEvents!.last.schoolday!.schoolday; - return schooldayEventB - .compareTo(schooldayEventA); // Reversed for descending order + return schooldayEventB.compareTo( + schooldayEventA, + ); // Reversed for descending order } else { return 0; } diff --git a/school_data_hub_flutter/lib/features/_schoolday_events/domain/schoolday_event_manager.dart b/school_data_hub_flutter/lib/features/_schoolday_events/domain/schoolday_event_manager.dart index 36aea19f..3881273b 100644 --- a/school_data_hub_flutter/lib/features/_schoolday_events/domain/schoolday_event_manager.dart +++ b/school_data_hub_flutter/lib/features/_schoolday_events/domain/schoolday_event_manager.dart @@ -102,11 +102,19 @@ class SchooldayEventManager with ChangeNotifier { Future<void> postSchooldayEvent( int pupilId, int schooldayId, + DateTime dateTime, SchooldayEventType type, String reason, ) async { - final SchooldayEvent schooldayEvent = await _schooldayEventApiService - .postSchooldayEvent(pupilId, schooldayId, type, reason); + final SchooldayEvent + schooldayEvent = await _schooldayEventApiService.postSchooldayEvent( + '${di<PupilManager>().getPupilByPupilId(pupilId)!.firstName} (${di<PupilManager>().getPupilByPupilId(pupilId)!.group})', + pupilId, + schooldayId, + dateTime, + type, + reason, + ); _updateSchooldayEventCollections(schooldayEvent); _notificationService.showSnackBar( @@ -121,8 +129,8 @@ class SchooldayEventManager with ChangeNotifier { Future<void> fetchSchooldayEvents() async { try { - final List<SchooldayEvent> events = - await _schooldayEventApiService.fetchSchooldayEvents(); + final List<SchooldayEvent> events = await _schooldayEventApiService + .fetchSchooldayEvents(); updateSchooldayEventsBatchInCollections(events); } catch (e) { diff --git a/school_data_hub_flutter/lib/features/_schoolday_events/presentation/new_schoolday_event_page/new_schoolday_event_page.dart b/school_data_hub_flutter/lib/features/_schoolday_events/presentation/new_schoolday_event_page/new_schoolday_event_page.dart index f225e7cb..5bb66768 100644 --- a/school_data_hub_flutter/lib/features/_schoolday_events/presentation/new_schoolday_event_page/new_schoolday_event_page.dart +++ b/school_data_hub_flutter/lib/features/_schoolday_events/presentation/new_schoolday_event_page/new_schoolday_event_page.dart @@ -3,7 +3,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/information_dialog.dart'; @@ -126,6 +126,7 @@ class NewSchooldayEventPage extends WatchingWidget { await _schooldayEventManager.postSchooldayEvent( pupilId, schoolday!.id!, + thisDate, schooldayEventType, schooldayEventReasons, ); @@ -193,26 +194,24 @@ class NewSchooldayEventPage extends WatchingWidget { onChanged: (SchooldayEventType? newValue) { schooldayEventTypeDropdown.value = newValue!; }, - items: - SchooldayEventType.values - .map<DropdownMenuItem<SchooldayEventType>>(( - SchooldayEventType value, - ) { - return DropdownMenuItem<SchooldayEventType>( - value: value, - child: Text( - _getDropdownItemText(value), - style: TextStyle( - color: - value == SchooldayEventType.notSet - ? Colors.red - : AppColors.backgroundColor, - fontSize: 20, - ), - ), - ); - }) - .toList(), + items: SchooldayEventType.values + .map<DropdownMenuItem<SchooldayEventType>>(( + SchooldayEventType value, + ) { + return DropdownMenuItem<SchooldayEventType>( + value: value, + child: Text( + _getDropdownItemText(value), + style: TextStyle( + color: value == SchooldayEventType.notSet + ? Colors.red + : AppColors.backgroundColor, + fontSize: 20, + ), + ), + ); + }) + .toList(), ), const Gap(10), const Row( @@ -255,7 +254,7 @@ class NewSchooldayEventPage extends WatchingWidget { } }, child: Text( - thisDate.value.formatForUser(), + watch(thisDate).value.formatDateForUser(), style: AppStyles.title.copyWith( color: AppColors.interactiveColor, ), @@ -270,170 +269,170 @@ class NewSchooldayEventPage extends WatchingWidget { ), const Gap(5), Expanded( - child: - schooldayEventType == SchooldayEventType.notSet - ? const Center( - child: Text( - 'Bitte eine Ereignis-Art auswählen!', - style: TextStyle( - fontSize: 18, - fontWeight: FontWeight.bold, - ), - textAlign: TextAlign.center, - ), - ) - : schooldayEventType == - SchooldayEventType.parentsMeeting - ? SingleChildScrollView( - scrollDirection: Axis.vertical, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Wrap( - children: [ - SchooldayEventReasonFilterChip( - isReason: - watch(learningDevelopmentInfo).value, - onSelected: (value) { - learningDevelopmentInfo.value = value; - }, - emojis: '💡🧠', - text: 'Lernentwicklung', - ), - const Gap(5), - SchooldayEventReasonFilterChip( - isReason: - watch(learningSupportInfo).value, - onSelected: (value) { - learningSupportInfo.value = value; - }, - emojis: '🛟🧠', - text: 'Förderung', - ), - const Gap(5), - SchooldayEventReasonFilterChip( - isReason: watch(admonitionInfo).value, - onSelected: (value) { - admonitionInfo.value = value; - }, - emojis: '⚠️ℹ️', - text: 'Regelverstoß', - ), - const Gap(5), - SchooldayEventReasonFilterChip( - isReason: watch(other).value, - onSelected: (value) { - other.value = value; - }, - emojis: '📝', - text: 'Sonstiges', - ), - const Gap(5), - ], - ), - ], - ), - ) - : SingleChildScrollView( - scrollDirection: Axis.vertical, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Wrap( - children: [ - const Gap(5), - SchooldayEventReasonFilterChip( - isReason: - watch(violenceAgainstPupils).value, - onSelected: (value) { - violenceAgainstPupils.value = value; - }, - emojis: '🤜🤕', - text: 'Gewalt gegen Kinder', - ), - const Gap(5), - SchooldayEventReasonFilterChip( - isReason: - watch(violenceAgainstTeacher).value, - onSelected: (value) { - violenceAgainstTeacher.value = value; - }, - emojis: '🤜🎓️', - text: 'Gewalt gegen Erwachsene', - ), - const Gap(5), - SchooldayEventReasonFilterChip( - isReason: - watch(violenceAgainstThings).value, - onSelected: (value) { - violenceAgainstThings.value = value; - }, - emojis: '🤜🏫', - text: 'Gewalt gegen Sachen', - ), - const Gap(5), - SchooldayEventReasonFilterChip( - isReason: watch(insultOthers).value, - onSelected: (value) { - insultOthers.value = value; - }, - emojis: '🤬💔', - text: 'Beleidigen', - ), - const Gap(5), - SchooldayEventReasonFilterChip( - isReason: watch(annoyOthers).value, - onSelected: (value) { - annoyOthers.value = value; - }, - emojis: '😈😖', - text: 'Ärgern', - ), - const Gap(5), - SchooldayEventReasonFilterChip( - isReason: watch(imminentDanger).value, - onSelected: (value) { - imminentDanger.value = value; - }, - emojis: '🚨😱', - text: 'Gefahr für sich/andere', - ), - const Gap(5), - SchooldayEventReasonFilterChip( - isReason: - watch( - ignoreTeacherInstructions, - ).value, - onSelected: (value) { - ignoreTeacherInstructions.value = value; - }, - emojis: '🎓️🙉', - text: 'Anweisungen ignorieren', - ), - const Gap(5), - SchooldayEventReasonFilterChip( - isReason: watch(disturbLesson).value, - onSelected: (value) { - disturbLesson.value = value; - }, - emojis: '🛑🎓️', - text: 'Unterricht stören', - ), - const Gap(5), - SchooldayEventReasonFilterChip( - isReason: watch(other).value, - onSelected: (value) { - other.value = value; - }, - emojis: '📝', - text: 'Sonstiges', - ), - const Gap(5), - ], - ), - ], + child: schooldayEventType == SchooldayEventType.notSet + ? const Center( + child: Text( + 'Bitte eine Ereignis-Art auswählen!', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, ), + textAlign: TextAlign.center, + ), + ) + : schooldayEventType == SchooldayEventType.parentsMeeting + ? SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Wrap( + children: [ + SchooldayEventReasonFilterChip( + isReason: watch( + learningDevelopmentInfo, + ).value, + onSelected: (value) { + learningDevelopmentInfo.value = value; + }, + emojis: '💡🧠', + text: 'Lernentwicklung', + ), + const Gap(5), + SchooldayEventReasonFilterChip( + isReason: watch(learningSupportInfo).value, + onSelected: (value) { + learningSupportInfo.value = value; + }, + emojis: '🛟🧠', + text: 'Förderung', + ), + const Gap(5), + SchooldayEventReasonFilterChip( + isReason: watch(admonitionInfo).value, + onSelected: (value) { + admonitionInfo.value = value; + }, + emojis: '⚠️ℹ️', + text: 'Regelverstoß', + ), + const Gap(5), + SchooldayEventReasonFilterChip( + isReason: watch(other).value, + onSelected: (value) { + other.value = value; + }, + emojis: '📝', + text: 'Sonstiges', + ), + const Gap(5), + ], + ), + ], ), + ) + : SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Wrap( + children: [ + const Gap(5), + SchooldayEventReasonFilterChip( + isReason: watch( + violenceAgainstPupils, + ).value, + onSelected: (value) { + violenceAgainstPupils.value = value; + }, + emojis: '🤜🤕', + text: 'Gewalt gegen Kinder', + ), + const Gap(5), + SchooldayEventReasonFilterChip( + isReason: watch( + violenceAgainstTeacher, + ).value, + onSelected: (value) { + violenceAgainstTeacher.value = value; + }, + emojis: '🤜🎓️', + text: 'Gewalt gegen Erwachsene', + ), + const Gap(5), + SchooldayEventReasonFilterChip( + isReason: watch( + violenceAgainstThings, + ).value, + onSelected: (value) { + violenceAgainstThings.value = value; + }, + emojis: '🤜🏫', + text: 'Gewalt gegen Sachen', + ), + const Gap(5), + SchooldayEventReasonFilterChip( + isReason: watch(insultOthers).value, + onSelected: (value) { + insultOthers.value = value; + }, + emojis: '🤬💔', + text: 'Beleidigen', + ), + const Gap(5), + SchooldayEventReasonFilterChip( + isReason: watch(annoyOthers).value, + onSelected: (value) { + annoyOthers.value = value; + }, + emojis: '😈😖', + text: 'Ärgern', + ), + const Gap(5), + SchooldayEventReasonFilterChip( + isReason: watch(imminentDanger).value, + onSelected: (value) { + imminentDanger.value = value; + }, + emojis: '🚨😱', + text: 'Gefahr für sich/andere', + ), + const Gap(5), + SchooldayEventReasonFilterChip( + isReason: watch( + ignoreTeacherInstructions, + ).value, + onSelected: (value) { + ignoreTeacherInstructions.value = value; + }, + emojis: '🎓️🙉', + text: 'Anweisungen ignorieren', + ), + const Gap(5), + SchooldayEventReasonFilterChip( + isReason: watch(disturbLesson).value, + onSelected: (value) { + disturbLesson.value = value; + }, + emojis: '🛑🎓️', + text: 'Unterricht stören', + ), + const Gap(5), + SchooldayEventReasonFilterChip( + isReason: watch(other).value, + onSelected: (value) { + other.value = value; + }, + emojis: '📝', + text: 'Sonstiges', + ), + const Gap(5), + ], + ), + ], + ), + ), ), const Gap(10), ElevatedButton( diff --git a/school_data_hub_flutter/lib/features/_schoolday_events/presentation/schoolday_event_list_page/widgets/pupil_schoolday_event_card.dart b/school_data_hub_flutter/lib/features/_schoolday_events/presentation/schoolday_event_list_page/widgets/pupil_schoolday_event_card.dart index 8058e79f..4413671d 100644 --- a/school_data_hub_flutter/lib/features/_schoolday_events/presentation/schoolday_event_list_page/widgets/pupil_schoolday_event_card.dart +++ b/school_data_hub_flutter/lib/features/_schoolday_events/presentation/schoolday_event_list_page/widgets/pupil_schoolday_event_card.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; @@ -38,27 +38,23 @@ class PupilSchooldayEventCard extends StatelessWidget { final isAdmin = _hubSessionManager.isAdmin; return Card( - color: - !schooldayEvent.processed - ? AppColors.notProcessedColor - : AppColors.cardInCardColor, + color: !schooldayEvent.processed + ? AppColors.notProcessedColor + : AppColors.cardInCardColor, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), child: Container( decoration: BoxDecoration( - border: - !schooldayEvent.processed - ? Border.all( - color: - Colors - .orangeAccent, // Specify the color of the border here - width: 3, // Specify the width of the border here - ) - : Border.all( - color: - AppColors - .cardInCardBorderColor, // Specify the color of the border here - width: 2, - ), + border: !schooldayEvent.processed + ? Border.all( + color: Colors + .orangeAccent, // Specify the color of the border here + width: 3, // Specify the width of the border here + ) + : Border.all( + color: AppColors + .cardInCardBorderColor, // Specify the color of the border here + width: 2, + ), borderRadius: BorderRadius.circular(10), ), child: Padding( @@ -78,52 +74,49 @@ class PupilSchooldayEventCard extends StatelessWidget { children: [ isAuthorized ? InkWell( - onTap: () async { - DateTime? date = - await selectSchooldayDate( - context, + onTap: () async { + DateTime? + date = await selectSchooldayDate( + context, + _schoolCalendarManager.thisDate.value, + ); + if (date == null) return; + final schooldayId = _schoolCalendarManager - .thisDate - .value, - ); - if (date == null) return; - final schooldayId = - _schoolCalendarManager - .getSchooldayByDate(date) - ?.id; + .getSchooldayByDate(date) + ?.id; - await _schooldayEventManager - .updateSchooldayEvent( - eventToUpdate: schooldayEvent, + await _schooldayEventManager + .updateSchooldayEvent( + eventToUpdate: schooldayEvent, - schooldayId: schooldayId, - ); - _notificationService.showSnackBar( - NotificationType.success, - 'Ereignis als bearbeitet markiert!', - ); - }, - child: Text( - schooldayEvent.schoolday!.schoolday - .formatForUser(), + schooldayId: schooldayId, + ); + _notificationService.showSnackBar( + NotificationType.success, + 'Ereignis als bearbeitet markiert!', + ); + }, + child: Text( + schooldayEvent.schoolday!.schoolday + .formatDateForUser(), + style: const TextStyle( + color: AppColors.interactiveColor, + fontWeight: FontWeight.bold, + fontSize: 20, + ), + ), + ) + : Text( + schooldayEvent.schoolday!.schoolday + .formatDateForUser(), style: const TextStyle( - color: AppColors.interactiveColor, + color: Colors.black, fontWeight: FontWeight.bold, fontSize: 20, ), ), - ) - : Text( - schooldayEvent.schoolday!.schoolday - .toLocalForUI() - .formatForUser(), - style: const TextStyle( - color: Colors.black, - fontWeight: FontWeight.bold, - fontSize: 20, - ), - ), const Gap(5), InkWell( onLongPress: () { @@ -175,40 +168,40 @@ class PupilSchooldayEventCard extends StatelessWidget { // only admin can change the admonishing user isAdmin ? InkWell( - onTap: () async { - final String? createdBy = - await shortTextfieldDialog( - context: context, - title: 'Erstellt von:', - labelText: 'Kürzel eingeben', - hintText: 'Kürzel eingeben', - obscureText: false, - ); - if (createdBy != null) { - await _schooldayEventManager - .updateSchooldayEvent( - eventToUpdate: schooldayEvent, - createdBy: createdBy, - processed: false, + onTap: () async { + final String? createdBy = + await shortTextfieldDialog( + context: context, + title: 'Erstellt von:', + labelText: 'Kürzel eingeben', + hintText: 'Kürzel eingeben', + obscureText: false, ); - } - }, - child: Text( + if (createdBy != null) { + await _schooldayEventManager + .updateSchooldayEvent( + eventToUpdate: schooldayEvent, + createdBy: createdBy, + processed: false, + ); + } + }, + child: Text( + schooldayEvent.createdBy, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 18, + color: AppColors.backgroundColor, + ), + ), + ) + : Text( schooldayEvent.createdBy, style: const TextStyle( fontWeight: FontWeight.bold, fontSize: 18, - color: AppColors.backgroundColor, ), ), - ) - : Text( - schooldayEvent.createdBy, - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 18, - ), - ), const Gap(10), ], ), @@ -260,24 +253,22 @@ class PupilSchooldayEventCard extends StatelessWidget { 'Dokument gelöscht!', ); }, - child: - schooldayEvent.processedDocumentId != null - ? DocumentImage( - documentId: - schooldayEvent - .processedDocument! - .documentId, - size: 70, - ) - : SizedBox( - height: 70, - child: ClipRRect( - borderRadius: BorderRadius.circular(5), - child: Image.asset( - 'assets/document_camera.png', - ), + child: schooldayEvent.processedDocumentId != null + ? DocumentImage( + documentId: schooldayEvent + .processedDocument! + .documentId, + size: 70, + ) + : SizedBox( + height: 70, + child: ClipRRect( + borderRadius: BorderRadius.circular(5), + child: Image.asset( + 'assets/document_camera.png', ), ), + ), ), ], ), @@ -322,22 +313,20 @@ class PupilSchooldayEventCard extends StatelessWidget { 'Dokument gelöscht!', ); }, - child: - schooldayEvent.document != null - ? DocumentImage( - documentId: - schooldayEvent.document!.documentId, - size: 70, - ) - : SizedBox( - height: 70, - child: ClipRRect( - borderRadius: BorderRadius.circular(5), - child: Image.asset( - 'assets/document_camera.png', - ), + child: schooldayEvent.document != null + ? DocumentImage( + documentId: schooldayEvent.document!.documentId, + size: 70, + ) + : SizedBox( + height: 70, + child: ClipRRect( + borderRadius: BorderRadius.circular(5), + child: Image.asset( + 'assets/document_camera.png', ), ), + ), ), ], ), @@ -395,77 +384,77 @@ class PupilSchooldayEventCard extends StatelessWidget { if (schooldayEvent.processedBy != null) isAdmin ? InkWell( - onTap: () async { - //-TODO: get the user from select user page - final String? processingUser = - await shortTextfieldDialog( - context: context, - title: 'Bearbeitet von:', - labelText: 'Kürzel eingeben', - hintText: 'Kürzel eingeben', - obscureText: false, - ); - if (processingUser != null) { - await _schooldayEventManager - .updateSchooldayEvent( - eventToUpdate: schooldayEvent, - processedBy: ( - value: processingUser, - ), + onTap: () async { + //-TODO: get the user from select user page + final String? processingUser = + await shortTextfieldDialog( + context: context, + title: 'Bearbeitet von:', + labelText: 'Kürzel eingeben', + hintText: 'Kürzel eingeben', + obscureText: false, ); - } - }, - child: Text( + if (processingUser != null) { + await _schooldayEventManager + .updateSchooldayEvent( + eventToUpdate: schooldayEvent, + processedBy: ( + value: processingUser, + ), + ); + } + }, + child: Text( + schooldayEvent.processedBy!, + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.interactiveColor, + ), + ), + ) + : Text( schooldayEvent.processedBy!, style: const TextStyle( fontSize: 18, fontWeight: FontWeight.bold, - color: AppColors.interactiveColor, ), ), - ) - : Text( - schooldayEvent.processedBy!, - style: const TextStyle( - fontSize: 18, - fontWeight: FontWeight.bold, - ), - ), if (schooldayEvent.processedAt != null) const Gap(10), if (schooldayEvent.processedAt != null) _hubSessionManager.isAdmin ? InkWell( - onTap: () async { - final DateTime? newDate = - await selectSchooldayDate( - context, - DateTime.now(), - ); - - if (newDate != null) { - await _schooldayEventManager - .updateSchooldayEvent( - eventToUpdate: schooldayEvent, - processedAt: (value: newDate), + onTap: () async { + final DateTime? newDate = + await selectSchooldayDate( + context, + DateTime.now(), ); - } - }, - child: Text( - 'am ${schooldayEvent.processedAt!.toLocalForUI().formatForUser()}', + + if (newDate != null) { + await _schooldayEventManager + .updateSchooldayEvent( + eventToUpdate: schooldayEvent, + processedAt: (value: newDate), + ); + } + }, + child: Text( + 'am ${schooldayEvent.processedAt!.formatDateForUser()}', + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 18, + color: AppColors.interactiveColor, + ), + ), + ) + : Text( + 'am ${schooldayEvent.processedAt!.formatDateForUser()}', style: const TextStyle( fontWeight: FontWeight.bold, fontSize: 18, - color: AppColors.interactiveColor, ), ), - ) - : Text( - 'am ${schooldayEvent.processedAt!.toLocalForUI().formatForUser()}', - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 18, - ), - ), ], ), ), diff --git a/school_data_hub_flutter/lib/features/_schoolday_events/presentation/schoolday_event_list_page/widgets/schoolday_event_pupil_list_card/schoolday_event_pupil_list_card.dart b/school_data_hub_flutter/lib/features/_schoolday_events/presentation/schoolday_event_list_page/widgets/schoolday_event_pupil_list_card/schoolday_event_pupil_list_card.dart index 272e0af3..8fa9eaf4 100644 --- a/school_data_hub_flutter/lib/features/_schoolday_events/presentation/schoolday_event_list_page/widgets/schoolday_event_pupil_list_card/schoolday_event_pupil_list_card.dart +++ b/school_data_hub_flutter/lib/features/_schoolday_events/presentation/schoolday_event_list_page/widgets/schoolday_event_pupil_list_card/schoolday_event_pupil_list_card.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/custom_expansion_tile/custom_expansion_tile.dart'; import 'package:school_data_hub_flutter/common/widgets/custom_expansion_tile/custom_expansion_tile_content.dart'; @@ -45,10 +45,11 @@ class _SchooldayEventListCardState extends State<SchooldayEventPupilListCard> { Widget build(BuildContext context) { final PupilProxy pupil = widget.passedPupil; final unfilteredEvents = watch( - _schooldayEventManager.getPupilSchooldayEventsProxy(pupil.pupilId)) - .schooldayEvents; - schooldayEvents = _schooldayEventFilterManager - .filteredSchooldayEvents(unfilteredEvents.values.toList()); + _schooldayEventManager.getPupilSchooldayEventsProxy(pupil.pupilId), + ).schooldayEvents; + schooldayEvents = _schooldayEventFilterManager.filteredSchooldayEvents( + unfilteredEvents.values.toList(), + ); // TODO: This is a workaround for the filter manager. It should be moved to // - SchooldayEventListPage or to the filter manager. if (_schooldayEventFilterManager.schooldayEventsFilterState.value.values @@ -58,124 +59,131 @@ class _SchooldayEventListCardState extends State<SchooldayEventPupilListCard> { } } return Card( - color: Colors.white, - surfaceTintColor: Colors.white, - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Row( - children: [ - AvatarWithBadges(pupil: pupil, size: 80), - const Gap(5), - Expanded( - child: Column( - children: [ - const Gap(10), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded( - child: SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: InkWell( - onTap: () { - _mainMenuBottomNavManager - .setPupilProfileNavPage(4); - Navigator.of(context).push(MaterialPageRoute( - builder: (ctx) => PupilProfilePage( - pupil: pupil, - ), - )); - }, - child: Text( - pupil.firstName, - style: const TextStyle( - fontSize: 18, - fontWeight: FontWeight.bold), + color: Colors.white, + surfaceTintColor: Colors.white, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Row( + children: [ + AvatarWithBadges(pupil: pupil, size: 80), + const Gap(5), + Expanded( + child: Column( + children: [ + const Gap(10), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: InkWell( + onTap: () { + _mainMenuBottomNavManager + .setPupilProfileNavPage(4); + Navigator.of(context).push( + MaterialPageRoute( + builder: (ctx) => + PupilProfilePage(pupil: pupil), + ), + ); + }, + child: Text( + pupil.firstName, + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, ), ), ), - ) - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded( - child: SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: InkWell( - onTap: () { - // Navigator.of(context).push(MaterialPageRoute( - // builder: (ctx) => PupilProfilePage( - // pupil: pupil, - // ), - // )); - }, - child: Row( - children: [ - Text( - pupil.lastName, - style: const TextStyle(fontSize: 18), + ), + ), + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: InkWell( + onTap: () { + // Navigator.of(context).push(MaterialPageRoute( + // builder: (ctx) => PupilProfilePage( + // pupil: pupil, + // ), + // )); + }, + child: Row( + children: [ + Text( + pupil.lastName, + style: const TextStyle(fontSize: 18), + ), + if (pupil.family != null) ...[ + const Gap(10), + const Icon( + Icons.group, + size: 25, + color: AppColors.backgroundColor, ), - if (pupil.family != null) ...[ - const Gap(10), - const Icon(Icons.group, - size: 25, - color: AppColors.backgroundColor), - ] ], - ), + ], ), ), - ) - ], - ), - Row( - children: [ - const Text('zuletzt:'), - const Gap(10), - if (schooldayEvents.isNotEmpty) - Text( - SchoolDayEventHelper.getLastSchoolEventDate( - schooldayEvents) - .formatForUser(), - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 18, - ), - ) - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - CustomExpansionTileSwitch( - includeSwitch: true, - switchColor: AppColors.interactiveColor, - customExpansionTileController: _tileController, - expansionSwitchWidget: SchooldayEventPupilStats( - pupil: pupil, - )), - ], - ), - ], - ), + ), + ), + ], + ), + Row( + children: [ + const Text('zuletzt:'), + const Gap(10), + if (schooldayEvents.isNotEmpty) + Text( + SchoolDayEventHelper.getLastSchoolEventDate( + schooldayEvents, + ).formatDateForUser(), + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 18, + ), + ), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + CustomExpansionTileSwitch( + includeSwitch: true, + switchColor: AppColors.interactiveColor, + customExpansionTileController: _tileController, + expansionSwitchWidget: SchooldayEventPupilStats( + pupil: pupil, + ), + ), + ], + ), + ], ), - const Gap(10), - ], + ), + const Gap(10), + ], + ), + Padding( + padding: const EdgeInsets.only(left: 5.0, right: 5.0, bottom: 5.0), + child: CustomExpansionTileContent( + title: const Text( + 'Vorfälle', + style: TextStyle(fontSize: 15, fontWeight: FontWeight.bold), + ), + tileController: _tileController, + widgetList: [PupilSchooldayEventsList(pupil: pupil)], ), - Padding( - padding: - const EdgeInsets.only(left: 5.0, right: 5.0, bottom: 5.0), - child: CustomExpansionTileContent( - title: const Text('Vorfälle', - style: - TextStyle(fontSize: 15, fontWeight: FontWeight.bold)), - tileController: _tileController, - widgetList: [PupilSchooldayEventsList(pupil: pupil)], - )), - ], - )); + ), + ], + ), + ); } } diff --git a/school_data_hub_flutter/lib/features/app_entry_point/login_page/login_page.dart b/school_data_hub_flutter/lib/features/app_entry_point/login_page/login_page.dart index 4ee51de1..803e0d5a 100644 --- a/school_data_hub_flutter/lib/features/app_entry_point/login_page/login_page.dart +++ b/school_data_hub_flutter/lib/features/app_entry_point/login_page/login_page.dart @@ -32,8 +32,9 @@ class LoginPage extends WatchingWidget { : snackbar(context, value.type, value.message), ); - final bool isAuthenticated = - watchValue((EnvManager x) => x.isAuthenticated); + final bool isAuthenticated = watchValue( + (EnvManager x) => x.isAuthenticated, + ); final locale = AppLocalizations.of(context)!; log.info('isAuthenticated: $isAuthenticated'); @@ -54,19 +55,21 @@ class LoginPage extends WatchingWidget { crossAxisAlignment: CrossAxisAlignment.center, children: [ Padding( - padding: keyboardOn - ? const EdgeInsets.only(top: 70) - : Platform.isWindows - ? const EdgeInsets.only(top: 0) - : const EdgeInsets.only(top: 0)), + padding: keyboardOn + ? const EdgeInsets.only(top: 70) + : Platform.isWindows + ? const EdgeInsets.only(top: 0) + : const EdgeInsets.only(top: 0), + ), keyboardOn ? const SizedBox.shrink() : const SizedBox( height: 250, width: 250, child: Image( - image: - AssetImage('assets/foreground_windows.png'), + image: AssetImage( + 'assets/schuldaten_hub_logo.png', + ), ), ), const Gap(20), @@ -94,25 +97,26 @@ class LoginPage extends WatchingWidget { ), ), keyboardOn - ? const SizedBox( - height: 15, - ) - : const SizedBox( - height: 15, - ), + ? const SizedBox(height: 15) + : const SizedBox(height: 15), ...<Widget>[ ConstrainedBox( constraints: const BoxConstraints(maxWidth: 380), child: Padding( padding: const EdgeInsets.symmetric( - horizontal: 25.0, vertical: 8), + horizontal: 25.0, + vertical: 8, + ), child: TextField( - style: - const TextStyle(fontWeight: FontWeight.bold), + style: const TextStyle( + fontWeight: FontWeight.bold, + ), controller: controller.usernameController, decoration: InputDecoration( contentPadding: const EdgeInsets.symmetric( - horizontal: 15, vertical: 5), + horizontal: 15, + vertical: 5, + ), filled: true, fillColor: Colors.white, labelText: locale.userName, @@ -128,7 +132,9 @@ class LoginPage extends WatchingWidget { constraints: const BoxConstraints(maxWidth: 380), child: Padding( padding: const EdgeInsets.symmetric( - horizontal: 25.0, vertical: 8), + horizontal: 25.0, + vertical: 8, + ), child: TextField( textDirection: null, controller: controller.passwordController, @@ -136,7 +142,9 @@ class LoginPage extends WatchingWidget { decoration: InputDecoration( border: InputBorder.none, contentPadding: const EdgeInsets.symmetric( - horizontal: 15, vertical: 5), + horizontal: 15, + vertical: 5, + ), filled: true, fillColor: Colors.white, labelText: locale.password, @@ -147,9 +155,7 @@ class LoginPage extends WatchingWidget { ), ), ), - const SizedBox( - height: 40, - ), + const SizedBox(height: 40), Padding( padding: const EdgeInsets.all(10.0), child: Container( @@ -165,9 +171,10 @@ class LoginPage extends WatchingWidget { child: Text( locale.logInButtonText, style: const TextStyle( - fontSize: 17.0, - fontWeight: FontWeight.bold, - color: Colors.white), + fontSize: 17.0, + fontWeight: FontWeight.bold, + color: Colors.white, + ), ), ), ), @@ -182,18 +189,20 @@ class LoginPage extends WatchingWidget { style: AppStyles.actionButtonStyle, onPressed: () async { await confirmationDialog( - context: context, - title: locale.deleteKeyPrompt, - message: locale - .areYouSureYouWantToDeleteSchoolKey); + context: context, + title: locale.deleteKeyPrompt, + message: + locale.areYouSureYouWantToDeleteSchoolKey, + ); controller.deleteEnv(); }, child: Text( locale.deleteKeyButtonText, style: const TextStyle( - fontSize: 17.0, - fontWeight: FontWeight.bold, - color: Colors.white), + fontSize: 17.0, + fontWeight: FontWeight.bold, + color: Colors.white, + ), ), ), ), @@ -206,19 +215,22 @@ class LoginPage extends WatchingWidget { padding: const EdgeInsets.symmetric(horizontal: 12), //margin: const EdgeInsets.only(bottom: 16), child: ElevatedButton( - style: AppStyles.actionButtonStyle, - onPressed: () async { - Platform.isWindows - ? controller.importEnvFromTxt() - : controller.scanEnv(context); - }, - child: Platform.isWindows - ? const Text('SCHULSCHLÜSSEL IMPORTIEREN', - style: AppStyles.buttonTextStyle) - : Text( - locale.scanButton, - style: AppStyles.buttonTextStyle, - )), + style: AppStyles.actionButtonStyle, + onPressed: () async { + Platform.isWindows + ? controller.importEnvFromTxt() + : controller.scanEnv(context); + }, + child: Platform.isWindows + ? const Text( + 'SCHULSCHLÜSSEL IMPORTIEREN', + style: AppStyles.buttonTextStyle, + ) + : Text( + locale.scanButton, + style: AppStyles.buttonTextStyle, + ), + ), ), ), ], diff --git a/school_data_hub_flutter/lib/features/app_main_navigation/widgets/pupil_lists_buttons.dart b/school_data_hub_flutter/lib/features/app_main_navigation/widgets/pupil_lists_buttons.dart index 9ddf0e30..a1bfb536 100644 --- a/school_data_hub_flutter/lib/features/app_main_navigation/widgets/pupil_lists_buttons.dart +++ b/school_data_hub_flutter/lib/features/app_main_navigation/widgets/pupil_lists_buttons.dart @@ -99,19 +99,18 @@ class PupilListButtons extends WatchingWidget { ), buttonText: locale.specialInfo, ), - if (isReady && isTester) - MainMenuButton( - destinationPage: const OgsListPage(), - buttonIcon: Text( - locale.allDayCare, - style: const TextStyle( - fontSize: 35, - color: AppColors.gridViewColor, - fontWeight: FontWeight.bold, - ), + MainMenuButton( + destinationPage: const OgsListPage(), + buttonIcon: Text( + locale.allDayCare, + style: const TextStyle( + fontSize: 35, + color: AppColors.gridViewColor, + fontWeight: FontWeight.bold, ), - buttonText: locale.allDayCare, ), + buttonText: locale.allDayCare, + ), if (matrixSessionConfigured) MainMenuButton( destinationPage: const MatrixUsersListPage(), diff --git a/school_data_hub_flutter/lib/features/app_settings/settings_page/widgets/settings_session_section.dart b/school_data_hub_flutter/lib/features/app_settings/settings_page/widgets/settings_session_section.dart index a94cb453..073d3f16 100644 --- a/school_data_hub_flutter/lib/features/app_settings/settings_page/widgets/settings_session_section.dart +++ b/school_data_hub_flutter/lib/features/app_settings/settings_page/widgets/settings_session_section.dart @@ -3,7 +3,7 @@ import 'package:flutter_cache_manager/flutter_cache_manager.dart'; import 'package:flutter_settings_ui/flutter_settings_ui.dart'; import 'package:gap/gap.dart'; import 'package:logging/logging.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; import 'package:school_data_hub_flutter/core/di/dependency_injection.dart'; @@ -59,7 +59,8 @@ class SettingsSessionSection extends AbstractSettingsSection with WatchItMixin { leading: const Icon(Icons.perm_identity_rounded), title: const Text('Personenbezogene Daten vom:'), value: Text( - di<EnvManager>().activeEnv?.lastIdentitiesUpdate?.formatForUser() ?? + di<EnvManager>().activeEnv?.lastIdentitiesUpdate + ?.formatDateForUser() ?? 'unbekannt', ), trailing: null, diff --git a/school_data_hub_flutter/lib/features/books/presentation/book_list_page/widgets/book_card.dart b/school_data_hub_flutter/lib/features/books/presentation/book_list_page/widgets/book_card.dart index 68d1e419..5491e4e8 100644 --- a/school_data_hub_flutter/lib/features/books/presentation/book_list_page/widgets/book_card.dart +++ b/school_data_hub_flutter/lib/features/books/presentation/book_list_page/widgets/book_card.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/isbn_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; @@ -86,24 +86,23 @@ class BookCard extends WatchingWidget { SingleChildScrollView( scrollDirection: Axis.horizontal, child: InkWell( - onLongPress: - (di<HubSessionManager>().isAdmin) - ? () { - // Navigator.of(context).push(MaterialPageRoute( - // builder: (ctx) => NewBook( - // isEdit: true, - // bookAuthor: books.first.author, - // bookId: book.bookId, - // isbn: book.isbn, - // bookReadingLevel: book.readingLevel, - // bookTitle: book.title, - // bookDescription: book.description, - // bookImageId: book.imageId, - // location: book.location, - // ), - // )); - } - : () {}, + onLongPress: (di<HubSessionManager>().isAdmin) + ? () { + // Navigator.of(context).push(MaterialPageRoute( + // builder: (ctx) => NewBook( + // isEdit: true, + // bookAuthor: books.first.author, + // bookId: book.bookId, + // isbn: book.isbn, + // bookReadingLevel: book.readingLevel, + // bookTitle: book.title, + // bookDescription: book.description, + // bookImageId: book.imageId, + // location: book.location, + // ), + // )); + } + : () {}, child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ @@ -255,10 +254,9 @@ class BookCard extends WatchingWidget { ], ), Column( - children: - bookProxies.map((book) { - return LibraryBookCard(libraryBookProxy: book); - }).toList(), + children: bookProxies.map((book) { + return LibraryBookCard(libraryBookProxy: book); + }).toList(), ), const Gap(10), ], diff --git a/school_data_hub_flutter/lib/features/books/presentation/book_list_page/widgets/book_pupil_card.dart b/school_data_hub_flutter/lib/features/books/presentation/book_list_page/widgets/book_pupil_card.dart index 81f4f4e6..646ce5e4 100644 --- a/school_data_hub_flutter/lib/features/books/presentation/book_list_page/widgets/book_pupil_card.dart +++ b/school_data_hub_flutter/lib/features/books/presentation/book_list_page/widgets/book_pupil_card.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/long_textfield_dialog.dart'; import 'package:school_data_hub_flutter/common/widgets/growth_dropdown.dart'; @@ -70,9 +70,8 @@ class BookLendingPupilCard extends WatchingWidget { ); Navigator.of(context).push( MaterialPageRoute( - builder: - (ctx) => - PupilProfilePage(pupil: pupil), + builder: (ctx) => + PupilProfilePage(pupil: pupil), ), ); }, @@ -122,7 +121,7 @@ class BookLendingPupilCard extends WatchingWidget { ), const Gap(2), Text( - watchedPupilBook.lentAt.formatForUser(), + watchedPupilBook.lentAt.formatDateForUser(), style: const TextStyle(fontWeight: FontWeight.bold), ), ], @@ -143,7 +142,7 @@ class BookLendingPupilCard extends WatchingWidget { ), const Gap(2), Text( - watchedPupilBook.returnedAt!.formatForUser(), + watchedPupilBook.returnedAt!.formatDateForUser(), style: const TextStyle( fontWeight: FontWeight.bold, ), diff --git a/school_data_hub_flutter/lib/features/books/presentation/book_list_page/widgets/pupil_book_card.dart b/school_data_hub_flutter/lib/features/books/presentation/book_list_page/widgets/pupil_book_card.dart index 30e834c9..e6df4f53 100644 --- a/school_data_hub_flutter/lib/features/books/presentation/book_list_page/widgets/pupil_book_card.dart +++ b/school_data_hub_flutter/lib/features/books/presentation/book_list_page/widgets/pupil_book_card.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/information_dialog.dart'; import 'package:school_data_hub_flutter/common/widgets/upload_image.dart'; @@ -26,8 +26,9 @@ class PupilBookCard extends WatchingWidget { @override Widget build(BuildContext context) { - final LibraryBookProxy bookProxy = - di<BookManager>().getLibraryBookById(pupilBook.libraryBookId)!; + final LibraryBookProxy bookProxy = di<BookManager>().getLibraryBookById( + pupilBook.libraryBookId, + )!; return ClipRRect( borderRadius: BorderRadius.circular(20), child: Card( @@ -185,7 +186,7 @@ class PupilBookCard extends WatchingWidget { const Text('am'), const Gap(5), Text( - pupilBook.lentAt.formatForUser(), + pupilBook.lentAt.formatDateForUser(), style: const TextStyle( fontWeight: FontWeight.bold, ), diff --git a/school_data_hub_flutter/lib/features/books/presentation/book_search_page/book_search_result_card.dart b/school_data_hub_flutter/lib/features/books/presentation/book_search_page/book_search_result_card.dart index 8fd063bc..d9c05c81 100644 --- a/school_data_hub_flutter/lib/features/books/presentation/book_search_page/book_search_result_card.dart +++ b/school_data_hub_flutter/lib/features/books/presentation/book_search_page/book_search_result_card.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/isbn_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/long_textfield_dialog.dart'; import 'package:school_data_hub_flutter/common/widgets/unencrypted_image_in_card.dart'; @@ -46,8 +46,8 @@ class SearchResultBookCard extends WatchingWidget { Navigator.push( context, MaterialPageRoute( - builder: - (context) => EditBook(libraryBook: bookProxy), + builder: (context) => + EditBook(libraryBook: bookProxy), ), ); }, @@ -206,25 +206,20 @@ class SearchResultBookCard extends WatchingWidget { ], ), Column( - children: - books - .fold<List<LibraryBookProxy>>([], ( - uniqueBooks, - book, - ) { - // Only add if libraryId is not already in the list - if (!uniqueBooks.any( - (existing) => - existing.libraryId == book.libraryId, - )) { - uniqueBooks.add(book); - } - return uniqueBooks; - }) - .map((book) { - return LibraryBookCard(libraryBookProxy: book); - }) - .toList(), + children: books + .fold<List<LibraryBookProxy>>([], (uniqueBooks, book) { + // Only add if libraryId is not already in the list + if (!uniqueBooks.any( + (existing) => existing.libraryId == book.libraryId, + )) { + uniqueBooks.add(book); + } + return uniqueBooks; + }) + .map((book) { + return LibraryBookCard(libraryBookProxy: book); + }) + .toList(), ), const Gap(10), ], diff --git a/school_data_hub_flutter/lib/features/books/presentation/widgets/pupil_book_card.dart b/school_data_hub_flutter/lib/features/books/presentation/widgets/pupil_book_card.dart index cf3543ad..02b03797 100644 --- a/school_data_hub_flutter/lib/features/books/presentation/widgets/pupil_book_card.dart +++ b/school_data_hub_flutter/lib/features/books/presentation/widgets/pupil_book_card.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; @@ -26,8 +26,9 @@ class PupilBookLendingCard extends StatelessWidget { @override Widget build(BuildContext context) { - final LibraryBookProxy book = - di<BookManager>().getLibraryBookById(pupilBookLending.libraryBookId)!; + final LibraryBookProxy book = di<BookManager>().getLibraryBookById( + pupilBookLending.libraryBookId, + )!; void updatepupilBookRating(int rating) { di<PupilManager>().updatePupilBookLending( pupilBookLending: pupilBookLending, @@ -129,7 +130,7 @@ class PupilBookLendingCard extends StatelessWidget { Text( pupilBookLending.lentAt .toLocal() - .formatForUser(), + .formatDateForUser(), style: const TextStyle( fontWeight: FontWeight.bold, ), @@ -153,7 +154,7 @@ class PupilBookLendingCard extends StatelessWidget { const Gap(2), Text( pupilBookLending.returnedAt! - .formatForUser(), + .formatDateForUser(), style: const TextStyle( fontWeight: FontWeight.bold, ), diff --git a/school_data_hub_flutter/lib/features/learning/presentation/pupil_competence_list_page/widgets/learning_list_card/learning_list_card.dart b/school_data_hub_flutter/lib/features/learning/presentation/pupil_competence_list_page/widgets/learning_list_card/learning_list_card.dart index 8658d1ed..dcd42851 100644 --- a/school_data_hub_flutter/lib/features/learning/presentation/pupil_competence_list_page/widgets/learning_list_card/learning_list_card.dart +++ b/school_data_hub_flutter/lib/features/learning/presentation/pupil_competence_list_page/widgets/learning_list_card/learning_list_card.dart @@ -42,8 +42,9 @@ class LearningListCard extends WatchingWidget { // Calculate book lending statistics for this pupil final pupilBookLendings = pupil.pupilBookLendings ?? []; final totalLendings = pupilBookLendings.length; - final notReturnedLendings = - pupilBookLendings.where((lending) => lending.returnedAt == null).length; + final notReturnedLendings = pupilBookLendings + .where((lending) => lending.returnedAt == null) + .length; return Card( color: Colors.white, @@ -82,8 +83,8 @@ class LearningListCard extends WatchingWidget { ); Navigator.of(context).push( MaterialPageRoute( - builder: - (ctx) => PupilProfilePage(pupil: pupil), + builder: (ctx) => + PupilProfilePage(pupil: pupil), ), ); }, @@ -119,6 +120,7 @@ class LearningListCard extends WatchingWidget { ), ], ), + const Gap(5), if (selectedContent == SelectedContent.competenceStatuses) ...[ diff --git a/school_data_hub_flutter/lib/features/learning/presentation/pupil_competence_list_page/widgets/pupil_competence_checks/competence_check_card.dart b/school_data_hub_flutter/lib/features/learning/presentation/pupil_competence_list_page/widgets/pupil_competence_checks/competence_check_card.dart index 5f3417d3..1b281a38 100644 --- a/school_data_hub_flutter/lib/features/learning/presentation/pupil_competence_list_page/widgets/pupil_competence_checks/competence_check_card.dart +++ b/school_data_hub_flutter/lib/features/learning/presentation/pupil_competence_list_page/widgets/pupil_competence_checks/competence_check_card.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; @@ -68,73 +68,75 @@ class CompetenceCheckCard extends StatelessWidget { children: [ isAuthorized ? InkWell( - onTap: () async { - DateTime? date = await selectSchooldayDate( - context, - di<SchoolCalendarManager>().thisDate.value, - ); - if (date == null) return; + onTap: () async { + DateTime? date = await selectSchooldayDate( + context, + di<SchoolCalendarManager>().thisDate.value, + ); + if (date == null) return; - await di<CompetenceManager>().updateCompetenceCheck( - competenceCheckId: competenceCheck.checkId, - createdAt: (value: date), - ); - }, - child: Text( - competenceCheck.createdAt.formatForUser(), + await di<CompetenceManager>() + .updateCompetenceCheck( + competenceCheckId: competenceCheck.checkId, + createdAt: (value: date), + ); + }, + child: Text( + competenceCheck.createdAt.formatDateForUser(), + style: const TextStyle( + color: AppColors.interactiveColor, + fontWeight: FontWeight.bold, + fontSize: 20, + ), + ), + ) + : Text( + competenceCheck.createdAt.formatDateForUser(), style: const TextStyle( - color: AppColors.interactiveColor, + color: Colors.black, fontWeight: FontWeight.bold, fontSize: 20, ), ), - ) - : Text( - competenceCheck.createdAt.formatForUser(), - style: const TextStyle( - color: Colors.black, - fontWeight: FontWeight.bold, - fontSize: 20, - ), - ), const Spacer(), const Text('Erstellt von:', style: TextStyle(fontSize: 16)), const Gap(5), // only admin can change the admonishing user isAuthorized ? InkWell( - onTap: () async { - final String? user = await shortTextfieldDialog( - context: context, - title: 'Erstellt von:', - labelText: 'Kürzel eingeben', - hintText: 'Kürzel eingeben', - obscureText: false, - ); - if (user != null) { - await di<CompetenceManager>() - .updateCompetenceCheck( - competenceCheckId: competenceCheck.checkId, - createdBy: (value: user), - ); - } - }, - child: Text( + onTap: () async { + final String? user = await shortTextfieldDialog( + context: context, + title: 'Erstellt von:', + labelText: 'Kürzel eingeben', + hintText: 'Kürzel eingeben', + obscureText: false, + ); + if (user != null) { + await di<CompetenceManager>() + .updateCompetenceCheck( + competenceCheckId: + competenceCheck.checkId, + createdBy: (value: user), + ); + } + }, + child: Text( + competenceCheck.createdBy, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 18, + color: AppColors.backgroundColor, + ), + ), + ) + : Text( competenceCheck.createdBy, style: const TextStyle( fontWeight: FontWeight.bold, fontSize: 18, - color: AppColors.backgroundColor, ), ), - ) - : Text( - competenceCheck.createdBy, - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 18, - ), - ), const Gap(5), ], ), @@ -145,59 +147,103 @@ class CompetenceCheckCard extends StatelessWidget { const Gap(5), isAuthorized ? GrowthDropdown( - dropdownValue: competenceCheck.score, - onChangedFunction: (int value) async { - if (value == competenceCheck.score) { - return; - } - await di<CompetenceManager>().updateCompetenceCheck( - competenceCheckId: competenceCheck.checkId, - score: (value: value), - ); - }, - ) + dropdownValue: competenceCheck.score, + onChangedFunction: (int value) async { + if (value == competenceCheck.score) { + return; + } + await di<CompetenceManager>() + .updateCompetenceCheck( + competenceCheckId: competenceCheck.checkId, + score: (value: value), + ); + }, + ) : Padding( - padding: const EdgeInsets.all(5.0), - child: CompetenceHelper.getCompetenceCheckSymbol( - status: competenceCheck.score, - size: 60, + padding: const EdgeInsets.all(5.0), + child: CompetenceHelper.getCompetenceCheckSymbol( + status: competenceCheck.score, + size: 60, + ), ), - ), const Gap(10), // Value Factor Display isAuthorized ? InkWell( - onTap: () async { - final String? valueFactorText = - await shortTextfieldDialog( - context: context, - title: 'Wertfaktor', - labelText: 'Wertfaktor eingeben', - hintText: 'z.B. 1.5', - textinField: competenceCheck.valueFactor - .toStringAsFixed(1), - obscureText: false, - ); - if (valueFactorText != null) { - final double? valueFactor = double.tryParse( - valueFactorText, - ); - if (valueFactor != null && valueFactor > 0) { - await di<CompetenceManager>() - .updateCompetenceCheck( - competenceCheckId: - competenceCheck.checkId, - valueFactor: (value: valueFactor), - ); - } else { - di<NotificationService>().showSnackBar( - NotificationType.error, - 'Ungültiger Wertfaktor. Bitte geben Sie eine positive Zahl ein.', + onTap: () async { + final String? valueFactorText = + await shortTextfieldDialog( + context: context, + title: 'Wertfaktor', + labelText: 'Wertfaktor eingeben', + hintText: 'z.B. 1.5', + textinField: competenceCheck.valueFactor + .toStringAsFixed(1), + obscureText: false, + ); + if (valueFactorText != null) { + final double? valueFactor = double.tryParse( + valueFactorText, ); + if (valueFactor != null && valueFactor > 0) { + await di<CompetenceManager>() + .updateCompetenceCheck( + competenceCheckId: + competenceCheck.checkId, + valueFactor: (value: valueFactor), + ); + } else { + di<NotificationService>().showSnackBar( + NotificationType.error, + 'Ungültiger Wertfaktor. Bitte geben Sie eine positive Zahl ein.', + ); + } } - } - }, - child: Container( + }, + child: Container( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 4, + ), + decoration: BoxDecoration( + color: AppColors.backgroundColor.withValues( + alpha: 0.1, + ), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColors.backgroundColor.withValues( + alpha: 0.3, + ), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + const Text( + 'x', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + color: AppColors.interactiveColor, + ), + ), + const Gap(4), + Text( + competenceCheck.valueFactor.toStringAsFixed( + 1, + ), + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.interactiveColor, + ), + ), + ], + ), + ), + ) + : Container( padding: const EdgeInsets.symmetric( horizontal: 8, vertical: 4, @@ -222,7 +268,7 @@ class CompetenceCheckCard extends StatelessWidget { style: TextStyle( fontSize: 14, fontWeight: FontWeight.w500, - color: AppColors.interactiveColor, + color: AppColors.backgroundColor, ), ), const Gap(4), @@ -233,53 +279,12 @@ class CompetenceCheckCard extends StatelessWidget { style: const TextStyle( fontSize: 16, fontWeight: FontWeight.bold, - color: AppColors.interactiveColor, + color: AppColors.backgroundColor, ), ), ], ), ), - ) - : Container( - padding: const EdgeInsets.symmetric( - horizontal: 8, - vertical: 4, - ), - decoration: BoxDecoration( - color: AppColors.backgroundColor.withValues( - alpha: 0.1, - ), - borderRadius: BorderRadius.circular(8), - border: Border.all( - color: AppColors.backgroundColor.withValues( - alpha: 0.3, - ), - width: 1, - ), - ), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - const Text( - 'x', - style: TextStyle( - fontSize: 14, - fontWeight: FontWeight.w500, - color: AppColors.backgroundColor, - ), - ), - const Gap(4), - Text( - competenceCheck.valueFactor.toStringAsFixed(1), - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: AppColors.backgroundColor, - ), - ), - ], - ), - ), const Spacer(), //- Take picture button only visible if there are less than 4 pictures if (competenceCheck.documents == null || diff --git a/school_data_hub_flutter/lib/features/learning/presentation/pupil_competence_list_page/widgets/pupil_competence_goals/competence_goal_card.dart b/school_data_hub_flutter/lib/features/learning/presentation/pupil_competence_list_page/widgets/pupil_competence_goals/competence_goal_card.dart index 93c3d890..89778ced 100644 --- a/school_data_hub_flutter/lib/features/learning/presentation/pupil_competence_list_page/widgets/pupil_competence_goals/competence_goal_card.dart +++ b/school_data_hub_flutter/lib/features/learning/presentation/pupil_competence_list_page/widgets/pupil_competence_goals/competence_goal_card.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/features/learning/domain/competence_helper.dart'; import 'package:school_data_hub_flutter/features/learning/domain/competence_manager.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; @@ -10,8 +10,11 @@ import 'package:watch_it/watch_it.dart'; class CompetenceGoalCard extends StatelessWidget { final CompetenceGoal pupilGoal; final PupilProxy pupil; - const CompetenceGoalCard( - {required this.pupilGoal, required this.pupil, super.key}); + const CompetenceGoalCard({ + required this.pupilGoal, + required this.pupil, + super.key, + }); @override Widget build(BuildContext context) { @@ -26,7 +29,8 @@ class CompetenceGoalCard extends StatelessWidget { decoration: BoxDecoration( borderRadius: BorderRadius.circular(5.0), color: CompetenceHelper.getCompetenceColor( - pupilGoal.competenceId), + pupilGoal.competenceId, + ), ), child: Padding( padding: const EdgeInsets.symmetric(vertical: 5.0), @@ -38,9 +42,10 @@ class CompetenceGoalCard extends StatelessWidget { .findRootCompetenceById(pupilGoal.competenceId) .name, style: const TextStyle( - fontSize: 19, - fontWeight: FontWeight.bold, - color: Colors.white), + fontSize: 19, + fontWeight: FontWeight.bold, + color: Colors.white, + ), ), ], ), @@ -50,7 +55,9 @@ class CompetenceGoalCard extends StatelessWidget { Row( children: [ CompetenceHelper.getCompetenceCheckSymbol( - status: pupilGoal.score ?? 0, size: 50), + status: pupilGoal.score ?? 0, + size: 50, + ), const Gap(10), Flexible( child: Text( @@ -58,7 +65,9 @@ class CompetenceGoalCard extends StatelessWidget { .findCompetenceById(pupilGoal.competenceId) .name, style: const TextStyle( - fontSize: 17, fontWeight: FontWeight.bold), + fontSize: 17, + fontWeight: FontWeight.bold, + ), ), ), ], @@ -72,9 +81,11 @@ class CompetenceGoalCard extends StatelessWidget { child: Text( pupilGoal.description, style: const TextStyle( - fontSize: 16, fontWeight: FontWeight.bold), + fontSize: 16, + fontWeight: FontWeight.bold, + ), ), - ) + ), ], ), const Gap(5), @@ -101,11 +112,11 @@ class CompetenceGoalCard extends StatelessWidget { const Text('am'), const Gap(10), Text( - pupilGoal.createdAt.formatForUser(), + pupilGoal.createdAt.formatDateForUser(), style: const TextStyle(fontWeight: FontWeight.bold), ), ], - ) + ), ], ), ), diff --git a/school_data_hub_flutter/lib/features/learning/presentation/widgets/competence_check_comment.dart b/school_data_hub_flutter/lib/features/learning/presentation/widgets/competence_check_comment.dart index e1ff80d3..7607ac05 100644 --- a/school_data_hub_flutter/lib/features/learning/presentation/widgets/competence_check_comment.dart +++ b/school_data_hub_flutter/lib/features/learning/presentation/widgets/competence_check_comment.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/features/learning/domain/competence_helper.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; @@ -9,7 +9,9 @@ Widget getCompetenceCheckComment(PupilProxy pupil, int competenceId) { if (pupil.competenceChecks!.isNotEmpty) { final CompetenceCheck? competenceCheck = CompetenceHelper.getLastCompetenceCheckOfCompetence( - pupil, competenceId); + pupil, + competenceId, + ); if (competenceCheck != null) { return Padding( padding: const EdgeInsets.only(left: 35), @@ -22,10 +24,7 @@ Widget getCompetenceCheckComment(PupilProxy pupil, int competenceId) { competenceCheck.comment ?? 'Kein Kommentar vorhanden', maxLines: 2, textAlign: TextAlign.start, - style: const TextStyle( - color: Colors.white, - fontSize: 15, - ), + style: const TextStyle(color: Colors.white, fontSize: 15), ), ], ), @@ -35,36 +34,32 @@ Widget getCompetenceCheckComment(PupilProxy pupil, int competenceId) { children: [ const Text( 'eingetragen von ', - style: TextStyle( - color: Colors.white, - fontSize: 12, - ), + style: TextStyle(color: Colors.white, fontSize: 12), ), Text( competenceCheck.createdBy, style: const TextStyle( - color: Colors.white, - fontSize: 12, - fontWeight: FontWeight.bold), + color: Colors.white, + fontSize: 12, + fontWeight: FontWeight.bold, + ), ), const Gap(5), const Text( 'am', - style: TextStyle( - color: Colors.white, - fontSize: 12, - ), + style: TextStyle(color: Colors.white, fontSize: 12), ), const Gap(5), Text( - competenceCheck.createdAt.toLocal().formatForUser(), + competenceCheck.createdAt.toLocal().formatDateForUser(), style: const TextStyle( - color: Colors.white, - fontSize: 12, - fontWeight: FontWeight.bold), + color: Colors.white, + fontSize: 12, + fontWeight: FontWeight.bold, + ), ), ], - ) + ), ], ), ); diff --git a/school_data_hub_flutter/lib/features/learning/presentation/widgets/pupil_learning_content_expansion_tile_nav_bar.dart b/school_data_hub_flutter/lib/features/learning/presentation/widgets/pupil_learning_content_expansion_tile_nav_bar.dart index df9fd589..d032c073 100644 --- a/school_data_hub_flutter/lib/features/learning/presentation/widgets/pupil_learning_content_expansion_tile_nav_bar.dart +++ b/school_data_hub_flutter/lib/features/learning/presentation/widgets/pupil_learning_content_expansion_tile_nav_bar.dart @@ -41,8 +41,10 @@ class SelectedLearningContentNotifier extends ChangeNotifier { class PupilLearningContentExpansionTileNavBar extends WatchingWidget { final PupilProxy pupil; - const PupilLearningContentExpansionTileNavBar( - {required this.pupil, super.key}); + const PupilLearningContentExpansionTileNavBar({ + required this.pupil, + super.key, + }); @override Widget build(BuildContext context) { @@ -53,16 +55,17 @@ class PupilLearningContentExpansionTileNavBar extends WatchingWidget { children: [ const PupilLearningContentNavBar(), Padding( - padding: const EdgeInsets.only(top: 5), - child: (selectedContent == SelectedContent.competenceStatuses) - ? PupilLearningContentCompetenceStatuses(pupil: pupil) - : (selectedContent == SelectedContent.competenceGoals) - ? PupilLearningContentCompetenceGoals(pupil: pupil) - : (selectedContent == SelectedContent.workbooks) - ? PupilLearningContentWorkbooks(pupil: pupil) - : - // (selectedContent == SelectedContent.books): - PupilLearningContentBooks(pupil: pupil)) + padding: const EdgeInsets.only(top: 5), + child: (selectedContent == SelectedContent.competenceStatuses) + ? PupilLearningContentCompetenceStatuses(pupil: pupil) + : (selectedContent == SelectedContent.competenceGoals) + ? PupilLearningContentCompetenceGoals(pupil: pupil) + : (selectedContent == SelectedContent.workbooks) + ? PupilLearningContentWorkbooks(pupil: pupil) + : + // (selectedContent == SelectedContent.books): + PupilLearningContentBooks(pupil: pupil), + ), ], ); } @@ -95,32 +98,35 @@ class PupilLearningContentNavBar extends WatchingWidget { ), onPressed: () { if (selectedContent != SelectedContent.competenceStatuses) { - selectedContentNotifier - .select(SelectedContent.competenceStatuses); - - return; - } - }, - ), - IconButton( - isSelected: selectedContent == SelectedContent.competenceGoals, - icon: const Icon( - Icons.emoji_nature_rounded, - color: AppColors.interactiveColor, - ), - selectedIcon: const Icon( - Icons.emoji_nature_rounded, - color: AppColors.accentColor, - ), - onPressed: () { - if (selectedContent != SelectedContent.competenceGoals) { - selectedContentNotifier - .select(SelectedContent.competenceGoals); + selectedContentNotifier.select( + SelectedContent.competenceStatuses, + ); return; } }, ), + // if (di<HubSessionManager>().isTester) + // IconButton( + // isSelected: selectedContent == SelectedContent.competenceGoals, + // icon: const Icon( + // Icons.emoji_nature_rounded, + // color: AppColors.interactiveColor, + // ), + // selectedIcon: const Icon( + // Icons.emoji_nature_rounded, + // color: AppColors.accentColor, + // ), + // onPressed: () { + // if (selectedContent != SelectedContent.competenceGoals) { + // selectedContentNotifier.select( + // SelectedContent.competenceGoals, + // ); + + // return; + // } + // }, + // ), IconButton( isSelected: selectedContent == SelectedContent.workbooks, icon: const Icon( @@ -141,10 +147,7 @@ class PupilLearningContentNavBar extends WatchingWidget { ), IconButton( isSelected: selectedContent == SelectedContent.books, - icon: const Icon( - Icons.book, - color: AppColors.interactiveColor, - ), + icon: const Icon(Icons.book, color: AppColors.interactiveColor), selectedIcon: const Icon( Icons.book, color: AppColors.accentColor, diff --git a/school_data_hub_flutter/lib/features/learning_support/presentation/learning_support_list_page/widgets/learning_support_list_card.dart b/school_data_hub_flutter/lib/features/learning_support/presentation/learning_support_list_page/widgets/learning_support_list_card.dart index 8b037663..4265a5ee 100644 --- a/school_data_hub_flutter/lib/features/learning_support/presentation/learning_support_list_page/widgets/learning_support_list_card.dart +++ b/school_data_hub_flutter/lib/features/learning_support/presentation/learning_support_list_page/widgets/learning_support_list_card.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/custom_expansion_tile/custom_expansion_tile.dart'; import 'package:school_data_hub_flutter/common/widgets/custom_expansion_tile/custom_expansion_tile_content.dart'; @@ -70,8 +71,8 @@ class _LearningSupportCardState extends State<LearningSupportCard> { ); Navigator.of(context).push( MaterialPageRoute( - builder: - (ctx) => PupilProfilePage(pupil: pupil), + builder: (ctx) => + PupilProfilePage(pupil: pupil), ), ); }, @@ -135,6 +136,25 @@ class _LearningSupportCardState extends State<LearningSupportCard> { ), ], ), + if (pupil.migrationSupportEnds != null) + Wrap( + children: [ + const Text('Ende der Erstförderung: '), + Text( + pupil.migrationSupportEnds!.formatDateForUser(), + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + color: + pupil.migrationSupportEnds!.isAfter( + DateTime(2026, 08, 01), + ) + ? Colors.red + : Colors.black, + ), + ), + ], + ), const Gap(15), if (pupil.supportCategoryStatuses != null) if (pupil.supportCategoryStatuses!.isNotEmpty) @@ -168,8 +188,8 @@ class _LearningSupportCardState extends State<LearningSupportCard> { child: Text( pupil.latestSupportLevel != null ? pupil.latestSupportLevel!.level == 4 - ? '🌈' - : pupil.latestSupportLevel!.level.toString() + ? '🌈' + : pupil.latestSupportLevel!.level.toString() : '0', style: const TextStyle( fontSize: 23, @@ -181,8 +201,8 @@ class _LearningSupportCardState extends State<LearningSupportCard> { Text( pupil.specialNeeds != null ? pupil.specialNeeds!.length == 4 - ? '${pupil.specialNeeds!.substring(0, 2)} ${pupil.specialNeeds!.substring(2, 4)}' - : pupil.specialNeeds!.substring(0, 2) + ? '${pupil.specialNeeds!.substring(0, 2)} ${pupil.specialNeeds!.substring(2, 4)}' + : pupil.specialNeeds!.substring(0, 2) : '', style: const TextStyle( fontWeight: FontWeight.bold, diff --git a/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/dialogs/support_level_dialog.dart b/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/dialogs/support_level_dialog.dart index bd46068e..c823f47b 100644 --- a/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/dialogs/support_level_dialog.dart +++ b/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/dialogs/support_level_dialog.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/core/session/hub_session_manager.dart'; @@ -135,7 +135,7 @@ Future<void> supportLevelDialog( } }, child: Text( - selectedDate.formatForUser(), + selectedDate.formatDateForUser(), style: const TextStyle( color: AppColors.backgroundColor, fontWeight: FontWeight.bold, diff --git a/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/support_catagory_status/support_category_statuses_list.dart b/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/support_catagory_status/support_category_statuses_list.dart index 91d90ee8..5fc8854b 100644 --- a/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/support_catagory_status/support_category_statuses_list.dart +++ b/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/support_catagory_status/support_category_statuses_list.dart @@ -2,7 +2,7 @@ import 'dart:developer'; import 'package:flutter/material.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/features/learning_support/presentation/widgets/support_catagory_status/widgets/support_category_status_card.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; @@ -13,29 +13,38 @@ List<Widget> pupilCategoryStatusesList(PupilProxy pupil, BuildContext context) { Map<int, List<SupportCategoryStatus>> statusesWithDuplicateGoalCategory = {}; for (SupportCategoryStatus status in pupil.supportCategoryStatuses!) { - if (pupil.supportCategoryStatuses!.any((element) => - element.supportCategoryId == status.supportCategoryId && - pupil.supportCategoryStatuses!.indexOf(element) != - pupil.supportCategoryStatuses!.indexOf(status))) { + if (pupil.supportCategoryStatuses!.any( + (element) => + element.supportCategoryId == status.supportCategoryId && + pupil.supportCategoryStatuses!.indexOf(element) != + pupil.supportCategoryStatuses!.indexOf(status), + )) { //- This one is duplicate. Adding a key / widget in the map - if (!statusesWithDuplicateGoalCategory - .containsKey(status.supportCategoryId)) { + if (!statusesWithDuplicateGoalCategory.containsKey( + status.supportCategoryId, + )) { statusesWithDuplicateGoalCategory[(status.supportCategoryId)] = List<SupportCategoryStatus>.empty(growable: true); - statusesWithDuplicateGoalCategory[(status.supportCategoryId)]! - .add(status); + statusesWithDuplicateGoalCategory[(status.supportCategoryId)]!.add( + status, + ); } else { - statusesWithDuplicateGoalCategory[(status.supportCategoryId)]! - .add(status); + statusesWithDuplicateGoalCategory[(status.supportCategoryId)]!.add( + status, + ); } - log('Adding status vom ${status.createdAt.formatForUser()} erstellt von ${status.createdBy}'); + log( + 'Adding status vom ${status.createdAt.formatDateForUser()} erstellt von ${status.createdBy}', + ); } else { statusesWidgetList.add( Padding( padding: const EdgeInsets.only(bottom: 8.0), child: SupportCategoryStatusCard( - pupil: pupil, statusesWithSameGoalCategory: [status]), + pupil: pupil, + statusesWithSameGoalCategory: [status], + ), ), ); } diff --git a/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/support_catagory_status/widgets/support_category_status_entry/support_category_status_entry.dart b/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/support_catagory_status/widgets/support_category_status_entry/support_category_status_entry.dart index 8380c9ed..4d525c08 100644 --- a/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/support_catagory_status/widgets/support_category_status_entry/support_category_status_entry.dart +++ b/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/support_catagory_status/widgets/support_category_status_entry/support_category_status_entry.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/information_dialog.dart'; @@ -72,69 +72,69 @@ class SupportCategoryStatusEntry extends StatelessWidget { children: [ authorizedToChangeStatus ? InkWell( - onTap: () async { - final DateTime? correctedCreatedAt = - await showDatePicker( - context: context, - initialDate: status.createdAt, - firstDate: DateTime(2000), - lastDate: DateTime.now().toUtc(), - ); - if (correctedCreatedAt != null) { - // TODO: uncomment when ready - // _learningSupportManager - // .updateSupportCategoryStatusProperty( - // pupil: pupil, - // statusId: status.statusId, - // createdAt: correctedCreatedAt.formatForJson(), - // ); - } - }, - child: Text( - status.createdAt.formatForUser(), + onTap: () async { + final DateTime? correctedCreatedAt = + await showDatePicker( + context: context, + initialDate: status.createdAt, + firstDate: DateTime(2000), + lastDate: DateTime.now().toUtc(), + ); + if (correctedCreatedAt != null) { + // TODO: uncomment when ready + // _learningSupportManager + // .updateSupportCategoryStatusProperty( + // pupil: pupil, + // statusId: status.statusId, + // createdAt: correctedCreatedAt.formatForJson(), + // ); + } + }, + child: Text( + status.createdAt.formatDateForUser(), + style: const TextStyle( + color: AppColors.interactiveColor, + fontWeight: FontWeight.bold, + fontSize: 18, + ), + ), + ) + : Text( + status.createdAt.formatDateForUser(), style: const TextStyle( - color: AppColors.interactiveColor, fontWeight: FontWeight.bold, fontSize: 18, ), ), - ) - : Text( - status.createdAt.formatForUser(), - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 18, - ), - ), const Gap(5), authorizedToChangeStatus ? InkWell( - onTap: () async { - final String? correctedComment = - await longTextFieldDialog( - title: 'Status korrigieren', - labelText: 'Status', - initialValue: status.comment, - parentContext: context, - ); - if (correctedComment != null) { - // TODO: uncomment when ready - // _learningSupportManager - // .updateSupportCategoryStatusProperty( - // pupil: pupil, - // statusId: status.statusId, - // comment: correctedComment, - // ); - } - }, - child: Text( - status.comment, - style: const TextStyle( - color: AppColors.interactiveColor, - fontWeight: FontWeight.bold, + onTap: () async { + final String? correctedComment = + await longTextFieldDialog( + title: 'Status korrigieren', + labelText: 'Status', + initialValue: status.comment, + parentContext: context, + ); + if (correctedComment != null) { + // TODO: uncomment when ready + // _learningSupportManager + // .updateSupportCategoryStatusProperty( + // pupil: pupil, + // statusId: status.statusId, + // comment: correctedComment, + // ); + } + }, + child: Text( + status.comment, + style: const TextStyle( + color: AppColors.interactiveColor, + fontWeight: FontWeight.bold, + ), ), - ), - ) + ) : Text(status.comment), const Gap(5), Wrap( @@ -143,37 +143,39 @@ class SupportCategoryStatusEntry extends StatelessWidget { const Gap(5), authorizedToChangeStatus ? InkWell( - onTap: () async { - final String? correctedCreatedBy = - await shortTextfieldDialog( - title: 'Ersteller ändern', - obscureText: false, - hintText: 'Kürzel eintragen', - labelText: status.createdBy, - context: context, - ); - if (correctedCreatedBy != null) { - // TODO: uncomment when ready - // _learningSupportManager - // .updateSupportCategoryStatusProperty( - // pupil: pupil, - // statusId: status.statusId, - // createdBy: correctedCreatedBy, - // ); - } - }, - child: Text( + onTap: () async { + final String? correctedCreatedBy = + await shortTextfieldDialog( + title: 'Ersteller ändern', + obscureText: false, + hintText: 'Kürzel eintragen', + labelText: status.createdBy, + context: context, + ); + if (correctedCreatedBy != null) { + // TODO: uncomment when ready + // _learningSupportManager + // .updateSupportCategoryStatusProperty( + // pupil: pupil, + // statusId: status.statusId, + // createdBy: correctedCreatedBy, + // ); + } + }, + child: Text( + status.createdBy, + style: const TextStyle( + color: AppColors.interactiveColor, + fontWeight: FontWeight.bold, + ), + ), + ) + : Text( status.createdBy, style: const TextStyle( - color: AppColors.interactiveColor, fontWeight: FontWeight.bold, ), ), - ) - : Text( - status.createdBy, - style: const TextStyle(fontWeight: FontWeight.bold), - ), ], ), ], diff --git a/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/support_goal/support_goal_card.dart b/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/support_goal/support_goal_card.dart index 12e26c66..e29c0432 100644 --- a/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/support_goal/support_goal_card.dart +++ b/school_data_hub_flutter/lib/features/learning_support/presentation/widgets/support_goal/support_goal_card.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; import 'package:school_data_hub_flutter/features/learning_support/domain/learning_support_helper.dart'; @@ -15,8 +15,11 @@ final _learningSupportManager = di<SupportCategoryManager>(); class SupportGoalCard extends StatelessWidget { final PupilProxy pupil; final int goalIndex; - const SupportGoalCard( - {required this.pupil, required this.goalIndex, super.key}); + const SupportGoalCard({ + required this.pupil, + required this.goalIndex, + super.key, + }); @override Widget build(BuildContext context) { @@ -27,9 +30,10 @@ class SupportGoalCard extends StatelessWidget { child: InkWell( onLongPress: () async { final bool? delete = await confirmationDialog( - context: context, - title: 'Förderziel löschen', - message: 'Förderziel löschen?'); + context: context, + title: 'Förderziel löschen', + message: 'Förderziel löschen?', + ); if (delete == true) { // TODO: uncomment when ready // await _learningSupportManager @@ -42,7 +46,9 @@ class SupportGoalCard extends StatelessWidget { shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10.0), side: const BorderSide( - color: AppColors.cardInCardBorderColor, width: 2), + color: AppColors.cardInCardBorderColor, + width: 2, + ), ), color: AppColors.cardInCardColor, child: Column( @@ -50,17 +56,24 @@ class SupportGoalCard extends StatelessWidget { const Gap(5), Padding( padding: const EdgeInsets.only( - top: 8.0, bottom: 8, left: 10, right: 10), + top: 8.0, + bottom: 8, + left: 10, + right: 10, + ), child: Container( decoration: BoxDecoration( color: LearningSupportHelper.getRootSupportCategoryColor( - _learningSupportManager.getRootSupportCategory(pupil - .supportGoals![goalIndex].supportCategoryId)), + _learningSupportManager.getRootSupportCategory( + pupil.supportGoals![goalIndex].supportCategoryId, + ), + ), borderRadius: BorderRadius.circular(5.0), ), child: SupportCategoryCardBanner( - categoryId: - pupil.supportGoals![goalIndex].supportCategoryId), + categoryId: + pupil.supportGoals![goalIndex].supportCategoryId, + ), ), ), Padding( @@ -70,15 +83,20 @@ class SupportGoalCard extends StatelessWidget { children: [ Padding( padding: const EdgeInsets.only(top: 4.0), - child: getLastCategoryStatusSymbol(pupil, - pupil.supportGoals![goalIndex].supportCategoryId), + child: getLastCategoryStatusSymbol( + pupil, + pupil.supportGoals![goalIndex].supportCategoryId, + ), ), const Gap(10), Flexible( child: Text( _learningSupportManager - .getSupportCategory(pupil - .supportGoals![goalIndex].supportCategoryId) + .getSupportCategory( + pupil + .supportGoals![goalIndex] + .supportCategoryId, + ) .name, style: const TextStyle( fontSize: 20, @@ -97,23 +115,26 @@ class SupportGoalCard extends StatelessWidget { child: Text( pupil.supportGoals![goalIndex].description, style: const TextStyle( - fontSize: 18, - fontWeight: FontWeight.bold, - color: AppColors.groupColor), + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.groupColor, + ), ), ), - const Gap(10) + const Gap(10), ], ), const Gap(5), const Row( children: [ Gap(15), - Text('Strategien:', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - )), + Text( + 'Strategien:', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), ], ), const Gap(5), @@ -123,9 +144,7 @@ class SupportGoalCard extends StatelessWidget { Flexible( child: Text( pupil.supportGoals![goalIndex].strategies, - style: const TextStyle( - fontSize: 16, - ), + style: const TextStyle(fontSize: 16), ), ), const Gap(10), @@ -147,7 +166,7 @@ class SupportGoalCard extends StatelessWidget { Text( pupil.supportGoals![goalIndex].createdAt .toLocal() - .formatForUser(), + .formatDateForUser(), style: const TextStyle(fontWeight: FontWeight.bold), ), ], diff --git a/school_data_hub_flutter/lib/features/learning_support/services/learning_support_plan_pdf_generator.dart b/school_data_hub_flutter/lib/features/learning_support/services/learning_support_plan_pdf_generator.dart index d1d49a9c..1eb1a885 100644 --- a/school_data_hub_flutter/lib/features/learning_support/services/learning_support_plan_pdf_generator.dart +++ b/school_data_hub_flutter/lib/features/learning_support/services/learning_support_plan_pdf_generator.dart @@ -8,7 +8,7 @@ import 'package:pdf/pdf.dart'; import 'package:pdf/widgets.dart' as pw; import 'package:printing/printing.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/generic_components/generic_app_bar.dart'; @@ -80,7 +80,7 @@ class LearningSupportPlanPdfGenerator { // Get the proper directory for saving files final directory = await getApplicationDocumentsDirectory(); final fileName = - "Förderplan_${pupil.firstName}_${pupil.lastName}_${DateTime.now().formatForUser()}.pdf"; + "Förderplan_${pupil.firstName}_${pupil.lastName}_${DateTime.now().formatDateForUser()}.pdf"; final file = File('${directory.path}/$fileName'); await file.writeAsBytes(await pdf.save()); diff --git a/school_data_hub_flutter/lib/features/matrix/services/api/api_settings.dart b/school_data_hub_flutter/lib/features/matrix/services/api/api_settings.dart index ce4cff94..22797cfd 100644 --- a/school_data_hub_flutter/lib/features/matrix/services/api/api_settings.dart +++ b/school_data_hub_flutter/lib/features/matrix/services/api/api_settings.dart @@ -1,5 +1,3 @@ -export '../../data/matrix_api_service_old.dart'; - class ApiSettings { // dev environment urls: //static const baseUrl = 'http://10.0.2.2:5000/api'; // android VM diff --git a/school_data_hub_flutter/lib/features/ogs/widgets/dialogs/ogs_edit_emergency_care_dialog.dart b/school_data_hub_flutter/lib/features/ogs/widgets/dialogs/ogs_edit_emergency_care_dialog.dart new file mode 100644 index 00000000..bd3fd02e --- /dev/null +++ b/school_data_hub_flutter/lib/features/ogs/widgets/dialogs/ogs_edit_emergency_care_dialog.dart @@ -0,0 +1,98 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/theme/styles.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/pupil_mutator.dart'; + +Future<void> ogsEditEmergencyCareDialog( + BuildContext context, + PupilProxy pupil, +) async { + final afterSchoolCare = pupil.afterSchoolCare; + bool? currentValue = afterSchoolCare?.emergencyCare; + + await showDialog( + context: context, + builder: (dialogContext) { + return StatefulBuilder( + builder: (context, setState) { + return AlertDialog( + title: const Text('Notbetreuung bearbeiten'), + content: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Text( + 'Ist Notbetreuung aktiviert?', + style: TextStyle(fontSize: 16), + ), + const Gap(20), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Radio<bool?>( + value: true, + groupValue: currentValue, + onChanged: (value) { + setState(() { + currentValue = value; + }); + }, + ), + const Text('Ja'), + const Gap(30), + Radio<bool?>( + value: false, + groupValue: currentValue, + onChanged: (value) { + setState(() { + currentValue = value; + }); + }, + ), + const Text('Nein'), + const Gap(30), + Radio<bool?>( + value: null, + groupValue: currentValue, + onChanged: (value) { + setState(() { + currentValue = value; + }); + }, + ), + const Text('Nicht gesetzt'), + ], + ), + ], + ), + actions: [ + TextButton( + onPressed: () { + Navigator.of(dialogContext).pop(); + }, + child: const Text('ABBRECHEN'), + ), + ElevatedButton( + style: AppStyles.successButtonStyle, + onPressed: () async { + await PupilMutator().updateAfterSchoolCare( + pupilId: pupil.pupilId, + emergencyCare: (value: currentValue), + ); + + if (dialogContext.mounted) { + Navigator.of(dialogContext).pop(); + } + }, + child: const Text( + 'SPEICHERN', + style: AppStyles.buttonTextStyle, + ), + ), + ], + ); + }, + ); + }, + ); +} diff --git a/school_data_hub_flutter/lib/features/ogs/widgets/dialogs/ogs_edit_pickup_times_dialog.dart b/school_data_hub_flutter/lib/features/ogs/widgets/dialogs/ogs_edit_pickup_times_dialog.dart new file mode 100644 index 00000000..b79a04cd --- /dev/null +++ b/school_data_hub_flutter/lib/features/ogs/widgets/dialogs/ogs_edit_pickup_times_dialog.dart @@ -0,0 +1,233 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/theme/styles.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/enums.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/pupil_mutator.dart'; + +Future<void> ogsEditPickUpTimesDialog( + BuildContext context, + PupilProxy pupil, +) async { + final afterSchoolCare = pupil.afterSchoolCare; + final currentPickUpTimes = afterSchoolCare?.pickUpTimes; + + // Initialize form state + final formKey = GlobalKey<FormState>(); + final mondayTimeController = TextEditingController( + text: currentPickUpTimes?.monday?.time ?? '', + ); + final mondayModalityController = TextEditingController( + text: currentPickUpTimes?.monday?.modality ?? '', + ); + final tuesdayTimeController = TextEditingController( + text: currentPickUpTimes?.tuesday?.time ?? '', + ); + final tuesdayModalityController = TextEditingController( + text: currentPickUpTimes?.tuesday?.modality ?? '', + ); + final wednesdayTimeController = TextEditingController( + text: currentPickUpTimes?.wednesday?.time ?? '', + ); + final wednesdayModalityController = TextEditingController( + text: currentPickUpTimes?.wednesday?.modality ?? '', + ); + final thursdayTimeController = TextEditingController( + text: currentPickUpTimes?.thursday?.time ?? '', + ); + final thursdayModalityController = TextEditingController( + text: currentPickUpTimes?.thursday?.modality ?? '', + ); + final fridayTimeController = TextEditingController( + text: currentPickUpTimes?.friday?.time ?? '', + ); + final fridayModalityController = TextEditingController( + text: currentPickUpTimes?.friday?.modality ?? '', + ); + + final result = await showDialog( + context: context, + builder: (dialogContext) { + return AlertDialog( + title: const Text('Abholzeiten bearbeiten'), + content: SingleChildScrollView( + child: Form( + key: formKey, + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildDayRow( + 'Montag', + mondayTimeController, + mondayModalityController, + ), + const Gap(10), + _buildDayRow( + 'Dienstag', + tuesdayTimeController, + tuesdayModalityController, + ), + const Gap(10), + _buildDayRow( + 'Mittwoch', + wednesdayTimeController, + wednesdayModalityController, + ), + const Gap(10), + _buildDayRow( + 'Donnerstag', + thursdayTimeController, + thursdayModalityController, + ), + const Gap(10), + _buildDayRow( + 'Freitag', + fridayTimeController, + fridayModalityController, + ), + ], + ), + ), + ), + actions: [ + TextButton( + onPressed: () { + Navigator.of(dialogContext).pop(); + }, + child: const Text('ABBRECHEN'), + ), + ElevatedButton( + style: AppStyles.successButtonStyle, + onPressed: () async { + if (!formKey.currentState!.validate()) { + return; + } + + // Update pickup times for each weekday + // The method updates one weekday at a time, so we call it for each weekday + // We always call it for all weekdays to ensure cleared ones are processed + // If time is empty string, it will create PickUpInfo with empty time (effectively clearing it) + + // Monday + await PupilMutator().updateAfterSchoolCare( + pupilId: pupil.pupilId, + weekday: (value: AfterSchoolCareWeekday.monday), + time: mondayTimeController.text.trim(), + modality: mondayModalityController.text.trim(), + ); + + // Tuesday + await PupilMutator().updateAfterSchoolCare( + pupilId: pupil.pupilId, + weekday: (value: AfterSchoolCareWeekday.tuesday), + time: tuesdayTimeController.text.trim(), + modality: tuesdayModalityController.text.trim(), + ); + + // Wednesday + await PupilMutator().updateAfterSchoolCare( + pupilId: pupil.pupilId, + weekday: (value: AfterSchoolCareWeekday.wednesday), + time: wednesdayTimeController.text.trim(), + modality: wednesdayModalityController.text.trim(), + ); + + // Thursday + await PupilMutator().updateAfterSchoolCare( + pupilId: pupil.pupilId, + weekday: (value: AfterSchoolCareWeekday.thursday), + time: thursdayTimeController.text.trim(), + modality: thursdayModalityController.text.trim(), + ); + + // Friday + await PupilMutator().updateAfterSchoolCare( + pupilId: pupil.pupilId, + weekday: (value: AfterSchoolCareWeekday.friday), + time: fridayTimeController.text.trim(), + modality: fridayModalityController.text.trim(), + ); + + if (dialogContext.mounted) { + Navigator.of(dialogContext).pop(); + } + }, + child: const Text('SPEICHERN', style: AppStyles.buttonTextStyle), + ), + ], + ); + }, + ); + + // Dispose controllers after the dialog is fully closed + WidgetsBinding.instance.addPostFrameCallback((_) { + mondayTimeController.dispose(); + mondayModalityController.dispose(); + tuesdayTimeController.dispose(); + tuesdayModalityController.dispose(); + wednesdayTimeController.dispose(); + wednesdayModalityController.dispose(); + thursdayTimeController.dispose(); + thursdayModalityController.dispose(); + fridayTimeController.dispose(); + fridayModalityController.dispose(); + }); + + return result; +} + +Widget _buildDayRow( + String dayName, + TextEditingController timeController, + TextEditingController modalityController, +) { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: 80, + child: Text( + dayName, + style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + ), + const Gap(10), + Expanded( + flex: 2, + child: TextFormField( + controller: timeController, + decoration: const InputDecoration( + labelText: 'Zeit (z.B. 14:00)', + hintText: '14:00', + border: OutlineInputBorder(), + ), + validator: (value) { + // Allow empty - means no pickup time for that day + if (value == null || value.trim().isEmpty) { + return null; + } + // Basic time format validation + final timeRegex = RegExp(r'^([01]?[0-9]|2[0-3]):[0-5][0-9]$'); + if (!timeRegex.hasMatch(value.trim())) { + return 'Ungültiges Zeitformat (z.B. 14:00)'; + } + return null; + }, + ), + ), + const Gap(10), + Expanded( + flex: 3, + child: TextFormField( + controller: modalityController, + decoration: const InputDecoration( + labelText: 'Modality (optional)', + hintText: 'z.B. Abholung, Bus, etc.', + border: OutlineInputBorder(), + ), + ), + ), + ], + ); +} diff --git a/school_data_hub_flutter/lib/features/ogs/widgets/ogs_details.dart b/school_data_hub_flutter/lib/features/ogs/widgets/ogs_details.dart new file mode 100644 index 00000000..25448954 --- /dev/null +++ b/school_data_hub_flutter/lib/features/ogs/widgets/ogs_details.dart @@ -0,0 +1,376 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_client/school_data_hub_client.dart'; +import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; +import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; +import 'package:school_data_hub_flutter/common/widgets/dialogs/long_textfield_dialog.dart'; +import 'package:school_data_hub_flutter/features/ogs/widgets/dialogs/ogs_edit_emergency_care_dialog.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/enums.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/pupil_mutator.dart'; +import 'package:watch_it/watch_it.dart'; + +class OgsDetails extends WatchingWidget { + final PupilProxy pupil; + const OgsDetails({required this.pupil, super.key}); + + @override + Widget build(BuildContext context) { + final afterSchoolCare = watchPropertyValue( + (m) => m.afterSchoolCare, + target: pupil, + ); + + if (afterSchoolCare == null) { + return const Padding( + padding: EdgeInsets.all(10.0), + child: Text( + 'Keine OGS Daten vorhanden', + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: 18, + ), + ), + ); + } + + final pickUpTimes = afterSchoolCare.pickUpTimes; + + return Column( + children: [ + // Emergency Care + Padding( + padding: const EdgeInsets.all(10.0), + child: InkWell( + onTap: () => ogsEditEmergencyCareDialog(context, pupil), + child: Row( + children: [ + const Text( + 'Notbetreuung:', + style: TextStyle(fontSize: 18.0, fontWeight: FontWeight.bold), + ), + const Gap(10), + Text( + afterSchoolCare.emergencyCare == null + ? 'Nicht gesetzt' + : (afterSchoolCare.emergencyCare == true ? 'Ja' : 'Nein'), + style: TextStyle( + fontSize: 18.0, + fontWeight: FontWeight.bold, + color: afterSchoolCare.emergencyCare == true + ? Colors.orange + : (afterSchoolCare.emergencyCare == null + ? Colors.grey + : Colors.black), + ), + ), + const Gap(10), + const Icon( + Icons.edit, + size: 18, + color: AppColors.backgroundColor, + ), + ], + ), + ), + ), + const Gap(10), + + // Pick Up Times Header + Padding( + padding: const EdgeInsets.only(left: 10, top: 10), + child: const Row( + children: [ + Text( + 'Abholzeiten:', + style: TextStyle(fontSize: 18.0, fontWeight: FontWeight.bold), + ), + ], + ), + ), + const Gap(5), + // All weekdays with individual edit buttons + _buildPickUpTimeRow( + context, + 'Montag', + pickUpTimes?.monday, + pupil, + AfterSchoolCareWeekday.monday, + ), + _buildPickUpTimeRow( + context, + 'Dienstag', + pickUpTimes?.tuesday, + pupil, + AfterSchoolCareWeekday.tuesday, + ), + _buildPickUpTimeRow( + context, + 'Mittwoch', + pickUpTimes?.wednesday, + pupil, + AfterSchoolCareWeekday.wednesday, + ), + _buildPickUpTimeRow( + context, + 'Donnerstag', + pickUpTimes?.thursday, + pupil, + AfterSchoolCareWeekday.thursday, + ), + _buildPickUpTimeRow( + context, + 'Freitag', + pickUpTimes?.friday, + pupil, + AfterSchoolCareWeekday.friday, + ), + const Gap(10), + + // OGS Info + const Padding( + padding: EdgeInsets.only(left: 10, top: 10), + child: Row( + children: [ + Text( + 'OGS Informationen:', + style: TextStyle(fontSize: 18.0, fontWeight: FontWeight.bold), + ), + ], + ), + ), + const Gap(5), + Padding( + padding: const EdgeInsets.only(left: 10, right: 10, bottom: 10), + child: InkWell( + onTap: () async { + final String? ogsInfo = await longTextFieldDialog( + title: 'OGS Informationen', + labelText: 'OGS Informationen', + initialValue: afterSchoolCare.afterSchoolCareInfo ?? '', + parentContext: context, + ); + if (ogsInfo == null) return; + await PupilMutator().updateAfterSchoolCare( + pupilId: pupil.pupilId, + afterSchoolCareInfo: (value: ogsInfo), + ); + }, + onLongPress: () async { + if (afterSchoolCare.afterSchoolCareInfo == null) return; + final bool? confirm = await confirmationDialog( + context: context, + title: 'OGS Infos löschen', + message: 'OGS Informationen für dieses Kind löschen?', + ); + if (confirm == false || confirm == null) return; + await PupilMutator().updateAfterSchoolCare( + pupilId: pupil.pupilId, + afterSchoolCareInfo: (value: null), + ); + }, + child: Text( + afterSchoolCare.afterSchoolCareInfo == null || + (afterSchoolCare.afterSchoolCareInfo?.isEmpty ?? true) + ? 'keine Informationen' + : afterSchoolCare.afterSchoolCareInfo!, + style: TextStyle( + fontSize: 18.0, + fontWeight: FontWeight.bold, + color: + afterSchoolCare.afterSchoolCareInfo == null || + (afterSchoolCare.afterSchoolCareInfo?.isEmpty ?? true) + ? Colors.grey + : AppColors.backgroundColor, + ), + ), + ), + ), + ], + ); + } + + Widget _buildPickUpTimeRow( + BuildContext context, + String day, + PickUpInfo? pickUpInfo, + PupilProxy pupil, + AfterSchoolCareWeekday weekday, + ) { + return Padding( + padding: const EdgeInsets.only(left: 20, bottom: 5, right: 10), + child: Row( + children: [ + SizedBox( + width: 100, + child: Text( + day, + style: const TextStyle( + fontSize: 16.0, + fontWeight: FontWeight.bold, + ), + ), + ), + const Gap(5), + Expanded( + child: Row( + children: [ + InkWell( + onTap: () async { + // Parse current time or use current time as default + TimeOfDay initialTime = TimeOfDay.now(); + final currentTime = pickUpInfo?.time; + if (currentTime != null && currentTime.isNotEmpty) { + final parts = currentTime.split(':'); + if (parts.length == 2) { + final hour = int.tryParse(parts[0]); + final minute = int.tryParse(parts[1]); + if (hour != null && minute != null) { + initialTime = TimeOfDay(hour: hour, minute: minute); + } + } + } + + final TimeOfDay? pickedTime = await showTimePicker( + context: context, + initialTime: initialTime, + ); + + if (pickedTime != null) { + // Convert TimeOfDay to HH:mm format + final timeString = + '${pickedTime.hour.toString().padLeft(2, '0')}:${pickedTime.minute.toString().padLeft(2, '0')}'; + await PupilMutator().updateAfterSchoolCare( + pupilId: pupil.pupilId, + weekday: (value: weekday), + time: timeString, + modality: pickUpInfo?.modality ?? '', + ); + } + }, + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + if (pickUpInfo?.time == null || + pickUpInfo!.time.isEmpty) ...[ + const Icon( + Icons.access_time, + size: 18, + color: AppColors.backgroundColor, + ), + const Gap(5), + ], + Text( + pickUpInfo?.time ?? 'Nicht gesetzt', + style: TextStyle( + fontSize: + pickUpInfo?.time != null && + pickUpInfo!.time.isNotEmpty + ? 18.0 + : 16.0, + fontWeight: FontWeight.bold, + color: + pickUpInfo?.time != null && + pickUpInfo!.time.isNotEmpty + ? AppColors.backgroundColor + : Colors.grey[600], + fontStyle: + pickUpInfo?.time != null && + pickUpInfo!.time.isNotEmpty + ? FontStyle.normal + : FontStyle.italic, + ), + ), + if (pickUpInfo?.time != null && + pickUpInfo!.time.isNotEmpty) ...[ + const Gap(5), + const Text('Uhr', style: TextStyle(fontSize: 16.0)), + ], + ], + ), + ), + const Gap(5), + Expanded( + child: _buildModalityDropdown( + context, + pickUpInfo?.modality, + pupil, + weekday, + pickUpInfo?.time ?? '', + ), + ), + ], + ), + ), + ], + ), + ); + } + + /// Converts a modality string to the corresponding enum value + AfterSchoolCarePickUpModality _modalityStringToEnum(String? modality) { + if (modality == null || modality.isEmpty) { + return AfterSchoolCarePickUpModality.notSet; + } + // Try to find matching enum by value + for (final enumValue in AfterSchoolCarePickUpModality.values) { + if (enumValue.value == modality) { + return enumValue; + } + } + // If no match found, return notSet + return AfterSchoolCarePickUpModality.notSet; + } + + Widget _buildModalityDropdown( + BuildContext context, + String? currentModality, + PupilProxy pupil, + AfterSchoolCareWeekday weekday, + String time, + ) { + final currentModalityEnum = _modalityStringToEnum(currentModality); + + return DropdownButton<AfterSchoolCarePickUpModality>( + value: currentModalityEnum, + isDense: true, + isExpanded: true, + underline: Container(), + items: AfterSchoolCarePickUpModality.values.map((modality) { + return DropdownMenuItem<AfterSchoolCarePickUpModality>( + value: modality, + child: Text( + modality.value, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 14.0, + fontStyle: modality == AfterSchoolCarePickUpModality.notSet + ? FontStyle.italic + : FontStyle.normal, + color: modality == AfterSchoolCarePickUpModality.notSet + ? Colors.grey + : Colors.black, + ), + ), + ); + }).toList(), + onChanged: (AfterSchoolCarePickUpModality? newModality) async { + if (newModality == null) return; + + // If notSet is selected, we want to clear the modality (set to empty string) + final modalityString = + newModality == AfterSchoolCarePickUpModality.notSet + ? '' + : newModality.value; + + await PupilMutator().updateAfterSchoolCare( + pupilId: pupil.pupilId, + weekday: (value: weekday), + time: time, + modality: modalityString, + ); + }, + ); + } +} diff --git a/school_data_hub_flutter/lib/features/ogs/widgets/ogs_filter_bottom_sheet.dart b/school_data_hub_flutter/lib/features/ogs/widgets/ogs_filter_bottom_sheet.dart index 0ab9e7db..096bf673 100644 --- a/school_data_hub_flutter/lib/features/ogs/widgets/ogs_filter_bottom_sheet.dart +++ b/school_data_hub_flutter/lib/features/ogs/widgets/ogs_filter_bottom_sheet.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; +import 'package:school_data_hub_flutter/common/widgets/themed_filter_chip.dart'; +import 'package:school_data_hub_flutter/features/_attendance/domain/filters/attendance_pupil_filter.dart'; +import 'package:school_data_hub_flutter/features/_attendance/domain/models/enums.dart'; import 'package:school_data_hub_flutter/features/pupil/presentation/widgets/common_pupil_filters.dart'; - import 'package:watch_it/watch_it.dart'; class OgsFilterBottomSheet extends WatchingWidget { @@ -9,13 +11,101 @@ class OgsFilterBottomSheet extends WatchingWidget { @override Widget build(BuildContext context) { - return const Padding( - padding: EdgeInsets.only(left: 20.0, right: 20, top: 8), + final _attendanceFilterLocator = di<AttendancePupilFilterManager>(); + final Map<AttendancePupilFilter, bool> activeAttendanceFilters = watchValue( + (AttendancePupilFilterManager x) => x.attendancePupilFilterState, + ); + + bool valuePresent = activeAttendanceFilters[AttendancePupilFilter.present]!; + + bool valueNotPresent = + activeAttendanceFilters[AttendancePupilFilter.notPresent]!; + return Padding( + padding: const EdgeInsets.only(left: 20.0, right: 20, top: 8), child: Column( children: [ - FilterHeading(), - CommonPupilFiltersWidget(), - Row(children: [Text('OGS-Filter', style: AppStyles.subtitle)]), + const FilterHeading(), + const CommonPupilFiltersWidget(), + const Row(children: [Text('OGS-Filter', style: AppStyles.subtitle)]), + Wrap( + children: [ + ThemedFilterChip( + label: 'anwesend', + selected: valuePresent, + onSelected: (val) { + // in case present is selected, not present and unexcused should be deselected + + if (val) { + _attendanceFilterLocator.setAttendancePupilFilter( + attendancePupilFilterRecords: [ + ( + attendancePupilFilter: + AttendancePupilFilter.notPresent, + value: false, + ), + ( + attendancePupilFilter: + AttendancePupilFilter.unexcused, + value: false, + ), + ( + attendancePupilFilter: AttendancePupilFilter.present, + value: val, + ), + ], + ); + return; + } + _attendanceFilterLocator.setAttendancePupilFilter( + attendancePupilFilterRecords: [ + ( + attendancePupilFilter: AttendancePupilFilter.present, + value: val, + ), + ], + ); + }, + ), + ThemedFilterChip( + label: 'nicht da', + selected: valueNotPresent, + onSelected: (val) { + // in case not present is selected, present should be deselected + if (val) { + //_valuePresent = false; + _attendanceFilterLocator.setAttendancePupilFilter( + attendancePupilFilterRecords: [ + ( + attendancePupilFilter: + AttendancePupilFilter.notPresent, + value: val, + ), + ( + attendancePupilFilter: AttendancePupilFilter.present, + value: false, + ), + ( + attendancePupilFilter: + AttendancePupilFilter.unexcused, + value: false, + ), + ], + ); + return; + } + + _attendanceFilterLocator.setAttendancePupilFilter( + attendancePupilFilterRecords: [ + ( + attendancePupilFilter: AttendancePupilFilter.notPresent, + value: val, + ), + ], + ); + }, + ), + ], + ), ], ), ); diff --git a/school_data_hub_flutter/lib/features/ogs/widgets/ogs_list_card.dart b/school_data_hub_flutter/lib/features/ogs/widgets/ogs_list_card.dart index 69533c6f..4a8a80fe 100644 --- a/school_data_hub_flutter/lib/features/ogs/widgets/ogs_list_card.dart +++ b/school_data_hub_flutter/lib/features/ogs/widgets/ogs_list_card.dart @@ -1,12 +1,16 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; -import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; -import 'package:school_data_hub_flutter/common/widgets/dialogs/long_textfield_dialog.dart'; -import 'package:school_data_hub_flutter/features/ogs/widgets/dialogs/ogs_pickup_time_dialog.dart'; +import 'package:school_data_hub_flutter/common/widgets/custom_expansion_tile/custom_expansion_tile.dart'; +import 'package:school_data_hub_flutter/common/widgets/custom_expansion_tile/custom_expansion_tile_content.dart'; +import 'package:school_data_hub_flutter/features/app_main_navigation/domain/main_menu_bottom_nav_manager.dart'; +import 'package:school_data_hub_flutter/features/ogs/widgets/ogs_details.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/enums.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; -import 'package:school_data_hub_flutter/features/pupil/domain/pupil_mutator.dart'; import 'package:school_data_hub_flutter/features/pupil/presentation/pupil_profile_page/pupil_profile_page.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_navigation.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/widgets/avatar.dart'; +import 'package:school_data_hub_flutter/features/school_calendar/domain/school_calendar_manager.dart'; import 'package:watch_it/watch_it.dart'; class OgsCard extends WatchingWidget { @@ -15,6 +19,10 @@ class OgsCard extends WatchingWidget { @override Widget build(BuildContext context) { final pupil = watch<PupilProxy>(this.pupil); + final thisDate = watchValue((SchoolCalendarManager x) => x.thisDate); + final weekday = dateTimeToAfterSchoolCareWeekday(thisDate); + final tileController = createOnce(() => CustomExpansionTileController()); + return Card( color: Colors.white, surfaceTintColor: Colors.white, @@ -26,180 +34,107 @@ class OgsCard extends WatchingWidget { top: 4.0, bottom: 4.0, ), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, + child: Column( children: [ - // TODO: Fix avatar component - AvatarWithBadges not available - Container( - width: 80, - height: 80, - decoration: BoxDecoration( - color: Colors.grey[300], - borderRadius: BorderRadius.circular(40), - ), - child: const Icon(Icons.person, size: 40), - ), - Expanded( - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Gap(15), - Row( + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + AvatarWithBadges(pupil: pupil, size: 80), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Expanded( - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Expanded( - child: SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: InkWell( - onTap: () { - // TODO: Fix navigation - MainMenuBottomNavManager not available - // di<MainMenuBottomNavManager>() - // .setPupilProfileNavPage( - // ProfileNavigation.ogs.value, - // ); - Navigator.of(context).push( - MaterialPageRoute( - builder: - (ctx) => PupilProfilePage( - pupil: pupil, - ), - ), - ); - }, - child: Row( - children: [ - Text( - pupil.firstName, - overflow: TextOverflow.fade, - softWrap: false, - textAlign: TextAlign.left, - style: const TextStyle( - color: Colors.black, - fontWeight: FontWeight.bold, - fontSize: 18, - ), - ), - const Gap(5), - Text( - pupil.lastName, - overflow: TextOverflow.fade, - softWrap: false, - textAlign: TextAlign.left, - style: const TextStyle( - color: Colors.black, - fontWeight: FontWeight.normal, - fontSize: 18, - ), - ), - const Gap(5), - ], + const Gap(15), + Row( + children: [ + Expanded( + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: InkWell( + onTap: () { + di<BottomNavManager>().setPupilProfileNavPage( + ProfileNavigationState.ogs.value, + ); + Navigator.of(context).push( + MaterialPageRoute( + builder: (ctx) => + PupilProfilePage(pupil: pupil), + ), + ); + }, + child: Row( + children: [ + Text( + pupil.firstName, + overflow: TextOverflow.fade, + softWrap: false, + textAlign: TextAlign.left, + style: const TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: 18, ), ), - ), - ), - ], - ), - const Gap(25), - const Row(children: [Text('Ogs Infos:'), Gap(5)]), - ], - ), - ), - SizedBox( - width: 100, - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - //const Gap(20), - const Text('Abholzeit:'), - Center( - child: InkWell( - onTap: - () => pickUpTimeDialog( - context, - pupil, - pupil.pickUpTime, + const Gap(5), + Text( + pupil.lastName, + overflow: TextOverflow.fade, + softWrap: false, + textAlign: TextAlign.left, + style: const TextStyle( + color: Colors.black, + fontWeight: FontWeight.normal, + fontSize: 18, + ), ), - child: Text( - pupil.pickUpTime ?? 'keine', - style: const TextStyle( - fontSize: 23, - fontWeight: FontWeight.bold, - color: AppColors.backgroundColor, - ), + const Gap(5), + ], ), ), ), - const Text('Uhr'), - ], - ), + ), + ], ), ], ), - const Gap(5), - Row( + ), + const Gap(20), + InkWell( + onTap: () { + tileController.isExpanded + ? tileController.collapse() + : tileController.expand(); + }, + child: Column( children: [ - Flexible( - child: InkWell( - onTap: () async { - final String? ogsInfo = await longTextFieldDialog( - title: 'OGS Informationen', - labelText: 'OGS Informationen', - initialValue: pupil.ogsInfo ?? '', - parentContext: context, - ); - if (ogsInfo == null) return; - await PupilMutator().updateStringProperty( - pupilId: pupil.internalId, - property: 'afterSchoolCareInfo', - value: ogsInfo, - ); - }, - onLongPress: () async { - if (pupil.ogsInfo == null) return; - final bool? confirm = await confirmationDialog( - context: context, - title: 'OGS Infos löschen', - message: - 'OGS Informationen für dieses Kind löschen?', - ); - if (confirm == false || confirm == null) return; - await PupilMutator().updateStringProperty( - pupilId: pupil.internalId, - property: 'afterSchoolCareInfo', - value: null, - ); - }, - child: Text( - pupil.ogsInfo == null || pupil.ogsInfo!.isEmpty - ? 'keine Infos' - : pupil.ogsInfo!, - overflow: TextOverflow.ellipsis, - softWrap: true, - maxLines: 3, - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 16, - color: AppColors.backgroundColor, - ), + const Gap(20), + const Text('Abholzeit'), + Center( + child: Text( + weekday != null + ? (pupil.pickUpTime(weekday) ?? 'keine') + : 'keine', + style: const TextStyle( + fontSize: 23, + fontWeight: FontWeight.bold, + color: AppColors.backgroundColor, ), ), ), + const Text('Uhr'), ], ), - const Gap(15), - ], - ), + ), + const Gap(20), + ], + ), + CustomExpansionTileContent( + title: null, + tileController: tileController, + widgetList: [OgsDetails(pupil: pupil)], ), ], ), diff --git a/school_data_hub_flutter/lib/features/ogs/widgets/ogs_list_search_bar.dart b/school_data_hub_flutter/lib/features/ogs/widgets/ogs_list_search_bar.dart index 27f8e382..506a656d 100644 --- a/school_data_hub_flutter/lib/features/ogs/widgets/ogs_list_search_bar.dart +++ b/school_data_hub_flutter/lib/features/ogs/widgets/ogs_list_search_bar.dart @@ -61,9 +61,10 @@ class OgsListSearchBar extends StatelessWidget { ), ), const Gap(5), - const FilterButton( + FilterButton( isSearchBar: true, - showBottomSheetFunction: showOgsFilterBottomSheet, + showBottomSheetFunction: () => + showOgsFilterBottomSheet(context), ), ], ), diff --git a/school_data_hub_flutter/lib/features/ogs/widgets/ogs_view_bottom_navbar.dart b/school_data_hub_flutter/lib/features/ogs/widgets/ogs_view_bottom_navbar.dart index e7ade897..d290a83d 100644 --- a/school_data_hub_flutter/lib/features/ogs/widgets/ogs_view_bottom_navbar.dart +++ b/school_data_hub_flutter/lib/features/ogs/widgets/ogs_view_bottom_navbar.dart @@ -24,19 +24,18 @@ class OgsListPageBottomNavBar extends StatelessWidget { const Spacer(), IconButton( tooltip: 'zurück', - icon: const Icon( - Icons.arrow_back, - size: 30, - ), + icon: const Icon(Icons.arrow_back, size: 30), onPressed: () { Navigator.pop(context); }, ), const Gap(30), - const FilterButton( - isSearchBar: true, - showBottomSheetFunction: showOgsFilterBottomSheet), - const Gap(15) + FilterButton( + isSearchBar: true, + showBottomSheetFunction: () => + showOgsFilterBottomSheet(context), + ), + const Gap(15), ], ), ), diff --git a/school_data_hub_flutter/lib/features/ogs/widgets/pupil_ogs_content_list.dart b/school_data_hub_flutter/lib/features/ogs/widgets/pupil_ogs_content_list.dart index 0616e3ec..a982e76f 100644 --- a/school_data_hub_flutter/lib/features/ogs/widgets/pupil_ogs_content_list.dart +++ b/school_data_hub_flutter/lib/features/ogs/widgets/pupil_ogs_content_list.dart @@ -4,19 +4,27 @@ import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/long_textfield_dialog.dart'; import 'package:school_data_hub_flutter/features/ogs/widgets/dialogs/ogs_pickup_time_dialog.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/enums.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/pupil_mutator.dart'; +import 'package:school_data_hub_flutter/features/school_calendar/domain/school_calendar_manager.dart'; +import 'package:watch_it/watch_it.dart'; List<Widget> pupilOgsContentList(PupilProxy pupil, BuildContext context) { + final schoolCalendarManager = di<SchoolCalendarManager>(); + final thisDate = schoolCalendarManager.thisDate.value; + final weekday = dateTimeToAfterSchoolCareWeekday(thisDate); + final pickUpTime = weekday != null ? pupil.pickUpTime(weekday) : null; + return [ Row( children: [ const Text('Abholzeit:', style: TextStyle(fontSize: 18.0)), const Gap(10), InkWell( - onTap: () => pickUpTimeDialog(context, pupil, pupil.pickUpTime), + onTap: () => pickUpTimeDialog(context, pupil, pickUpTime), child: Text( - pupil.pickUpTime ?? 'keine', + pickUpTime ?? 'keine', style: const TextStyle( fontSize: 20, fontWeight: FontWeight.bold, diff --git a/school_data_hub_flutter/lib/features/pupil/data/pupil_data_api_service.dart b/school_data_hub_flutter/lib/features/pupil/data/pupil_data_api_service.dart index 495aba35..047c573f 100644 --- a/school_data_hub_flutter/lib/features/pupil/data/pupil_data_api_service.dart +++ b/school_data_hub_flutter/lib/features/pupil/data/pupil_data_api_service.dart @@ -25,8 +25,9 @@ class PupilDataApiService { // - update backend pupil database - Future<List<PupilData>?> updateBackendPupilsDatabase( - {required String filePath}) async { + Future<List<PupilData>?> updateBackendPupilsDatabase({ + required String filePath, + }) async { final pupils = await ClientHelper.apiCall( call: () => _client.admin.updateBackendPupilDataState(filePath), errorMessage: 'Die Schüler konnten nicht aktualisiert werden', @@ -71,8 +72,12 @@ class PupilDataApiService { String? comment, }) async { final updatedPupil = await ClientHelper.apiCall( - call: () => _client.pupilUpdate - .updateCredit(pupilId, credit, comment, _hubSessionManager.userName!), + call: () => _client.pupilUpdate.updateCredit( + pupilId, + credit, + comment, + _hubSessionManager.userName!, + ), errorMessage: 'Die Schüler konnten nicht aktualisiert werden', ); return updatedPupil; @@ -80,10 +85,11 @@ class PupilDataApiService { //- update pupil one of the pupil properties being a string - Future<PupilData?> updateStringProperty( - {required int pupilId, - required String property, - required String? value}) async { + Future<PupilData?> updateStringProperty({ + required int pupilId, + required String property, + required String? value, + }) async { final updatedPupil = await ClientHelper.apiCall( call: () => _client.pupilUpdate.updateStringProperty(pupilId, property, value), @@ -92,8 +98,10 @@ class PupilDataApiService { return updatedPupil; } - Future<PupilData?> updateSchoolyearHeldBackDate( - {required int pupilId, required ({DateTime? value}) date}) async { + Future<PupilData?> updateSchoolyearHeldBackDate({ + required int pupilId, + required ({DateTime? value}) date, + }) async { final updatedPupil = await ClientHelper.apiCall( call: () => _client.pupilUpdate.updateSchoolyearHeldBackDate(pupilId, date), @@ -147,6 +155,19 @@ class PupilDataApiService { ); return updatedPupil; } + + Future<PupilData?> updateAfterSchoolCare({ + required int pupilId, + required AfterSchoolCare afterSchoolCare, + }) async { + final updatedPupil = await ClientHelper.apiCall( + call: () => + _client.pupilUpdate.updateAfterSchoolCare(pupilId, afterSchoolCare), + errorMessage: 'Die Schüler konnten nicht aktualisiert werden', + ); + return updatedPupil; + } + //- hub document Future<PupilData?> updatePupilDocument({ @@ -155,22 +176,29 @@ class PupilDataApiService { required PupilDocumentType documentType, }) async { final result = await ClientFileUpload.uploadFile( - file, - documentType == PupilDocumentType.avatar - ? ServerStorageFolder.avatars - : ServerStorageFolder.documents); + file, + documentType == PupilDocumentType.avatar + ? ServerStorageFolder.avatars + : ServerStorageFolder.documents, + ); final updatedPupil = await ClientHelper.apiCall( call: () => _client.pupilUpdate.updatePupilDocument( - pupilId, result.path!, _hubSessionManager.userName!, documentType), + pupilId, + result.path!, + _hubSessionManager.userName!, + documentType, + ), errorMessage: 'Das Profilbild konnte nicht aktualisiert werden', ); return updatedPupil; } -//- delete pupil document + //- delete pupil document - Future<PupilData?> deletePupilDocument( - {required int pupilId, required PupilDocumentType documentType}) async { + Future<PupilData?> deletePupilDocument({ + required int pupilId, + required PupilDocumentType documentType, + }) async { _notificationService.apiRunning(true); final updatedPupil = await ClientHelper.apiCall( call: () => _client.pupil.deletePupilDocument(pupilId, documentType), @@ -179,12 +207,14 @@ class PupilDataApiService { return updatedPupil; } -//- public media auth + //- public media auth Future<PupilData?> resetPublicMediaAuth({required int pupilId}) async { final updatedPupil = await ClientHelper.apiCall( - call: () => _client.pupil - .resetPublicMediaAuth(pupilId, _hubSessionManager.userName!), + call: () => _client.pupil.resetPublicMediaAuth( + pupilId, + _hubSessionManager.userName!, + ), errorMessage: 'Die Einwilligung für öffentliche Medien konnte nicht gelöscht werden', ); @@ -192,12 +222,12 @@ class PupilDataApiService { } Future<PupilData?> updatePublicMediaAuth( - int pupilId, PublicMediaAuth publicMediaAuth) async { + int pupilId, + PublicMediaAuth publicMediaAuth, + ) async { final updatedPupil = await ClientHelper.apiCall( - call: () => _client.pupilUpdate.updatePublicMediaAuth( - pupilId, - publicMediaAuth, - ), + call: () => + _client.pupilUpdate.updatePublicMediaAuth(pupilId, publicMediaAuth), errorMessage: 'Die Einwilligung für öffentliche Medien konnte nicht aktualisiert werden', ); @@ -214,11 +244,12 @@ class PupilDataApiService { required String comment, }) async { final supportLevel = SupportLevel( - level: supportLevelValue, - comment: comment, - createdAt: createdAt, - createdBy: createdBy, - pupilId: pupilId); + level: supportLevelValue, + comment: comment, + createdAt: createdAt, + createdBy: createdBy, + pupilId: pupilId, + ); final updatedPupil = await ClientHelper.apiCall( call: () => _client.pupilUpdate.updateSupportLevel(supportLevel, pupilId), errorMessage: 'Die Förderebene konnte nicht aktualisiert werden', diff --git a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_filter_enums.dart b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_filter_enums.dart index 4f3a25f6..5eef1dbf 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_filter_enums.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_filter_enums.dart @@ -1,6 +1,7 @@ enum PupilFilter { - ogs, - notOgs, + afterSchoolCare, + noAfterSchoolCare, + entitledToEmergencyCare, specialInfo, migrationSupport, preSchoolRevision0, @@ -31,8 +32,9 @@ enum PupilFilter { } Map<PupilFilter, bool> initialPupilFilterValues = { - PupilFilter.ogs: false, - PupilFilter.notOgs: false, + PupilFilter.afterSchoolCare: false, + PupilFilter.noAfterSchoolCare: false, + PupilFilter.entitledToEmergencyCare: false, PupilFilter.specialInfo: false, PupilFilter.migrationSupport: false, PupilFilter.preSchoolRevision0: false, diff --git a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_selector_filters.dart b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_selector_filters.dart index aad822b7..03884d47 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_selector_filters.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_selector_filters.dart @@ -5,7 +5,7 @@ import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy class SchoolGradeFilter extends SelectorFilter<PupilProxy, SchoolGrade> { SchoolGradeFilter(SchoolGrade schoolGrade) - : super(name: schoolGrade.name, selector: (proxy) => proxy.schoolGrade); + : super(name: schoolGrade.name, selector: (proxy) => proxy.schoolGrade); @override bool matches(PupilProxy item) { @@ -13,9 +13,26 @@ class SchoolGradeFilter extends SelectorFilter<PupilProxy, SchoolGrade> { } } +class ReligionCourseFilter extends SelectorFilter<PupilProxy, ReligionCourse> { + ReligionCourseFilter(ReligionCourse religion) + : super( + name: religion.value, + selector: (proxy) => + ReligionCourse.stringToValue[proxy.religion!] ?? + ReligionCourse.none, + ); + + @override + bool matches(PupilProxy item) { + return (selector(item).value == name) && + (item.religionLessonsSince != null && + item.religionLessonsSince != null); + } +} + class GroupFilter extends SelectorFilter<PupilProxy, String> { GroupFilter(String group) - : super(name: group, selector: (proxy) => proxy.groupId); + : super(name: group, selector: (proxy) => proxy.groupId); @override bool matches(PupilProxy item) { @@ -25,9 +42,10 @@ class GroupFilter extends SelectorFilter<PupilProxy, String> { class GenderFilter extends SelectorFilter<PupilProxy, Gender> { GenderFilter(Gender gender) - : super( - name: gender.value == 'm' ? '♂️' : '♀️', - selector: (proxy) => Gender.stringToValue[proxy.gender]!); + : super( + name: gender.value == 'm' ? '♂️' : '♀️', + selector: (proxy) => Gender.stringToValue[proxy.gender]!, + ); @override bool matches(PupilProxy item) { diff --git a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_text_filter.dart b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_text_filter.dart index faea7573..1f2a9dd4 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_text_filter.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_text_filter.dart @@ -5,9 +5,7 @@ import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy final _log = Logger('PupilTextFilter'); class PupilTextFilter extends Filter<PupilProxy> { - PupilTextFilter({ - required super.name, - }); + PupilTextFilter({required super.name}); String _text = ''; String get text => _text; @@ -20,7 +18,7 @@ class PupilTextFilter extends Filter<PupilProxy> { return; } toggle(true); - _log.finer('Setting filter text: $text'); + _log.finer('Setting pupil filter text: $text'); notifyListeners(); return; } diff --git a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupils_filter.dart b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupils_filter.dart index ddf21ad9..8cb5f6aa 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupils_filter.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupils_filter.dart @@ -96,6 +96,7 @@ abstract class PupilsFilter implements Listenable { //List<Filter> get groupFilters; List<Filter> get schoolGradeFilters; List<Filter> get genderFilters; + List<Filter> get religionCourseFilters; PupilTextFilter get textFilter; /// must be called when this object is no longer needed diff --git a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupils_filter_impl.dart b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupils_filter_impl.dart index f7ad1aca..9fd1daa8 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupils_filter_impl.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupils_filter_impl.dart @@ -87,6 +87,7 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { ...schoolGradeFilters, ..._groupFilters, ...genderFilters, + ...religionCourseFilters, _textFilter, ]; @@ -163,6 +164,10 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { (filter) => filter.isActive, ); + bool isAnyReligionCourseFilterActive = religionCourseFilters.any( + (filter) => filter.isActive, + ); + bool isTextFilterActive = _textFilter.isActive; for (final pupil in allPupils) { @@ -205,6 +210,18 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { if (filtersOn == false) filtersOn = true; continue; } + + bool isMatchedByReligionCourseFilter = + !isAnyReligionCourseFilterActive || + religionCourseFilters.any( + (filter) => filter.isActive && filter.matches(pupil), + ); + + if (!isMatchedByReligionCourseFilter) { + if (filtersOn == false) filtersOn = true; + continue; + } + // if the pupil is not matched by the text filter, skip it if (_textFilter.isActive && !_textFilter.matches(pupil)) { @@ -239,9 +256,11 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { // after school care filters - if (_pupilFilterManager.pupilFilterState.value[PupilFilter.ogs]! && + if (_pupilFilterManager.pupilFilterState.value[PupilFilter + .afterSchoolCare]! && pupil.afterSchoolCare == null || - _pupilFilterManager.pupilFilterState.value[PupilFilter.notOgs]! && + _pupilFilterManager.pupilFilterState.value[PupilFilter + .noAfterSchoolCare]! && pupil.afterSchoolCare != null) { if (filtersOn == false) filtersOn = true; continue; @@ -293,6 +312,9 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { // Set modified filter value @override void setSortMode(PupilSortMode sortMode) { + if (sortMode == _sortMode.value) { + return; + } _sortMode.value = sortMode; refreshs(); notifyListeners(); @@ -395,6 +417,9 @@ class PupilsFilterImplementation with ChangeNotifier implements PupilsFilter { @override List<Filter> get genderFilters => PupilProxy.genderFilters; + @override + List<Filter> get religionCourseFilters => PupilProxy.religionCourseFilters; + @override void populateGroupFilters(List<String> groupIds) { final groupFilters = diff --git a/school_data_hub_flutter/lib/features/pupil/domain/models/enums.dart b/school_data_hub_flutter/lib/features/pupil/domain/models/enums.dart index e20d5a4b..f8fd3dad 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/models/enums.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/models/enums.dart @@ -25,7 +25,7 @@ Map<PupilSortMode, bool> initialSortModeValues = { PupilSortMode.sortByGoneHome: false, PupilSortMode.sortBySchooldayEvents: false, PupilSortMode.sortByLastSchooldayEvent: false, - PupilSortMode.sortByLastNonProcessedSchooldayEvent: false + PupilSortMode.sortByLastNonProcessedSchooldayEvent: false, }; // enum SchoolGrade { @@ -47,15 +47,64 @@ Map<PupilSortMode, bool> initialSortModeValues = { // const SchoolGrade(this.value); // } +enum ReligionCourse { + islam('isl.'), + catholic('kath.'), + none('ohne B.'); + + static const stringToValue = { + 'isl.': ReligionCourse.islam, + 'röm.kath.': ReligionCourse.catholic, + 'ohne B.': ReligionCourse.none, + }; + + final String value; + const ReligionCourse(this.value); +} + enum Gender { male('m'), female('w'); - static const stringToValue = { - 'm': Gender.male, - 'w': Gender.female, - }; + static const stringToValue = {'m': Gender.male, 'w': Gender.female}; final String value; const Gender(this.value); } + +enum AfterSchoolCareWeekday { monday, tuesday, wednesday, thursday, friday } + +/// Converts a DateTime to AfterSchoolCareWeekday +/// Handles UTC dates by converting to local time first +/// Returns null if the date is not a weekday (Saturday or Sunday) +AfterSchoolCareWeekday? dateTimeToAfterSchoolCareWeekday(DateTime date) { + // Convert UTC to local time to get the correct weekday for the user's timezone + final localDate = date.isUtc ? date.toLocal() : date; + + // DateTime.weekday: Monday=1, Tuesday=2, ..., Friday=5, Saturday=6, Sunday=7 + switch (localDate.weekday) { + case 1: + return AfterSchoolCareWeekday.monday; + case 2: + return AfterSchoolCareWeekday.tuesday; + case 3: + return AfterSchoolCareWeekday.wednesday; + case 4: + return AfterSchoolCareWeekday.thursday; + case 5: + return AfterSchoolCareWeekday.friday; + default: + return null; // Saturday or Sunday + } +} + +enum AfterSchoolCarePickUpModality { + alone('allein'), + anyRelative('Verwandte'), + anyOther('Bekannte'), + exception('Besondere Regelung'), + notSet('bitte wählen'); + + final String value; + const AfterSchoolCarePickUpModality(this.value); +} diff --git a/school_data_hub_flutter/lib/features/pupil/domain/models/extensions.dart b/school_data_hub_flutter/lib/features/pupil/domain/models/extensions.dart index 0534f6d8..4c73a98f 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/models/extensions.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/models/extensions.dart @@ -1,5 +1,5 @@ import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; extension PupilIdentityExtensions on PupilIdentity { bool isEqualTo(PupilIdentity other) { @@ -17,21 +17,24 @@ extension PupilIdentityExtensions on PupilIdentity { (migrationSupportEnds == other.migrationSupportEnds || (migrationSupportEnds != null && other.migrationSupportEnds != null && - migrationSupportEnds! - .isSameDate(other.migrationSupportEnds!))) && + migrationSupportEnds!.isSameDate( + other.migrationSupportEnds!, + ))) && pupilSince.isSameDate(other.pupilSince) && afterSchoolCare == other.afterSchoolCare && religion == other.religion && (religionLessonsSince == other.religionLessonsSince || (religionLessonsSince != null && other.religionLessonsSince != null && - religionLessonsSince! - .isSameDate(other.religionLessonsSince!))) && + religionLessonsSince!.isSameDate( + other.religionLessonsSince!, + ))) && (familyLanguageLessonsSince == other.familyLanguageLessonsSince || (familyLanguageLessonsSince != null && other.familyLanguageLessonsSince != null && - familyLanguageLessonsSince! - .isSameDate(other.familyLanguageLessonsSince!))) && + familyLanguageLessonsSince!.isSameDate( + other.familyLanguageLessonsSince!, + ))) && (leavingDate == other.leavingDate || (leavingDate != null && other.leavingDate != null && diff --git a/school_data_hub_flutter/lib/features/pupil/domain/models/pupil_proxy.dart b/school_data_hub_flutter/lib/features/pupil/domain/models/pupil_proxy.dart index 1bdc34f8..c3ea13e9 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/models/pupil_proxy.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/models/pupil_proxy.dart @@ -31,6 +31,11 @@ class PupilProxy with ChangeNotifier { GenderFilter(Gender.female), ]; + static List<ReligionCourseFilter> religionCourseFilters = [ + ReligionCourseFilter(ReligionCourse.islam), + ReligionCourseFilter(ReligionCourse.catholic), + ]; + late PupilData _pupilData; PupilIdentity _pupilIdentity; @@ -56,6 +61,8 @@ class PupilProxy with ChangeNotifier { } } + //- PupilIdentity GETTERS + String get firstName => _pupilIdentity.firstName; String get lastName => _pupilIdentity.lastName; @@ -87,6 +94,9 @@ class PupilProxy with ChangeNotifier { DateTime? get familyLanguageLessonsSince => _pupilIdentity.familyLanguageLessonsSince; + DateTime? get religionLessonsSince => _pupilIdentity.religionLessonsSince; + + String? get religion => _pupilIdentity.religion; //- PUPIL DATA GETTERS int get pupilId => _pupilData.id!; @@ -131,16 +141,22 @@ class PupilProxy with ChangeNotifier { // TODO URGENT: Remove these after migrating all OGS code to use proper afterSchoolCare model bool get ogs => afterSchoolCare != null; - String? get pickUpTime { - // For now, return a simplified representation - // This would need to be updated based on business logic for which day to show + String? pickUpTime(AfterSchoolCareWeekday weekday) { final pickUpTimes = afterSchoolCare?.pickUpTimes; - if (pickUpTimes?.monday != null) return pickUpTimes!.monday!.time; - if (pickUpTimes?.tuesday != null) return pickUpTimes!.tuesday!.time; - if (pickUpTimes?.wednesday != null) return pickUpTimes!.wednesday!.time; - if (pickUpTimes?.thursday != null) return pickUpTimes!.thursday!.time; - if (pickUpTimes?.friday != null) return pickUpTimes!.friday!.time; - return null; + if (pickUpTimes == null) return null; + + switch (weekday) { + case AfterSchoolCareWeekday.monday: + return pickUpTimes.monday?.time; + case AfterSchoolCareWeekday.tuesday: + return pickUpTimes.tuesday?.time; + case AfterSchoolCareWeekday.wednesday: + return pickUpTimes.wednesday?.time; + case AfterSchoolCareWeekday.thursday: + return pickUpTimes.thursday?.time; + case AfterSchoolCareWeekday.friday: + return pickUpTimes.friday?.time; + } } String? get ogsInfo => afterSchoolCare?.afterSchoolCareInfo; diff --git a/school_data_hub_flutter/lib/features/pupil/domain/pupil_identity_helper_functions.dart b/school_data_hub_flutter/lib/features/pupil/domain/pupil_identity_helper_functions.dart index fd093c15..55618311 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/pupil_identity_helper_functions.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/pupil_identity_helper_functions.dart @@ -11,31 +11,71 @@ import 'package:watch_it/watch_it.dart'; final _log = Logger('PupilIdentityHelper'); class PupilIdentityHelper { + //- TIMEZONE CONVERSION HELPERS + + /// Converts a DateTime string from Berlin timezone (UTC+1) to UTC. + /// Returns null if the dateString is null or cannot be parsed. + static DateTime? _convertBerlinDateStringToUtc(String? dateString) { + if (dateString == null) return null; + final berlinDate = DateTime.tryParse(dateString); + if (berlinDate == null) return null; + return berlinDate.subtract(Duration(hours: 1)); + } + //- LOCAL STORAGE HELPERS - static Future<Map<int, PupilIdentity>> readPupilIdentitiesFromStorage( - {required String secureStorageKey}) async { + static Future<Map<int, PupilIdentity>> readPupilIdentitiesFromStorage({ + required String secureStorageKey, + }) async { final pupilsJson = await HubSecureStorage().getString(secureStorageKey); if (pupilsJson == null) return {}; final Map<String, dynamic> decodedJson = jsonDecode(pupilsJson); - return Map<int, PupilIdentity>.fromEntries(decodedJson.entries.map( - (entry) { + return Map<int, PupilIdentity>.fromEntries( + decodedJson.entries.map((entry) { final int pupilId = int.parse(entry.key); - final PupilIdentity pupilIdentity = PupilIdentity.fromJson(entry.value); + // Clone the JSON map and convert DateTime strings from Berlin to UTC + final Map<String, dynamic> jsonData = Map<String, dynamic>.from( + entry.value as Map, + ); + + // Convert all DateTime fields from Berlin timezone to UTC + final dateTimeFields = [ + 'birthday', + 'migrationSupportEnds', + 'pupilSince', + 'religionLessonsSince', + 'familyLanguageLessonsSince', + 'leavingDate', + ]; + + for (final field in dateTimeFields) { + if (jsonData[field] != null) { + final convertedDate = _convertBerlinDateStringToUtc( + jsonData[field] as String?, + ); + if (convertedDate != null) { + jsonData[field] = convertedDate.toIso8601String(); + } + } + } + + final PupilIdentity pupilIdentity = PupilIdentity.fromJson(jsonData); return MapEntry(pupilId, pupilIdentity); - }, - )); + }), + ); } static Future<void> deletePupilIdentitiesForEnv( - String secureStorageKey) async { + String secureStorageKey, + ) async { await HubSecureStorage().remove(secureStorageKey); _log.warning( - 'Pupil identities for environment $secureStorageKey have been deleted.'); + 'Pupil identities for environment $secureStorageKey have been deleted.', + ); di<PupilIdentityManager>().clearPupilIdentities(); di<PupilsFilter>().clearFilteredPupils(); @@ -46,7 +86,8 @@ class PupilIdentityHelper { //- OBJECT HELPERS static PupilIdentity decodePupilIdentityFromStringList( - List<String> pupilIdentityStringItems) { + List<String> pupilIdentityStringItems, + ) { final SchoolGrade schoolgrade; switch (pupilIdentityStringItems[5]) { case 'E1': @@ -91,24 +132,36 @@ class PupilIdentityHelper { family: pupilIdentityStringItems[10] == '' ? null : pupilIdentityStringItems[10], - birthday: DateTime.tryParse(pupilIdentityStringItems[11])!, + birthday: DateTime.tryParse( + pupilIdentityStringItems[11], + )!.subtract(Duration(hours: 1)), migrationSupportEnds: pupilIdentityStringItems[12] == '' ? null - : DateTime.tryParse(pupilIdentityStringItems[12])!, - pupilSince: DateTime.tryParse(pupilIdentityStringItems[13])!, + : DateTime.tryParse( + pupilIdentityStringItems[12], + )!.subtract(Duration(hours: 1)), + pupilSince: DateTime.tryParse( + pupilIdentityStringItems[13], + )!.subtract(Duration(hours: 1)), afterSchoolCare: pupilIdentityStringItems[14] != '' ? true : false, religion: pupilIdentityStringItems[15] == '' ? null : pupilIdentityStringItems[15], religionLessonsSince: pupilIdentityStringItems[16] == '' ? null - : DateTime.tryParse(pupilIdentityStringItems[16])!, + : DateTime.tryParse( + pupilIdentityStringItems[16], + )!.subtract(Duration(hours: 1)), familyLanguageLessonsSince: pupilIdentityStringItems[18] == '' ? null - : DateTime.tryParse(pupilIdentityStringItems[18])!, + : DateTime.tryParse( + pupilIdentityStringItems[18], + )!.subtract(Duration(hours: 1)), leavingDate: pupilIdentityStringItems[18] == '' ? null - : DateTime.tryParse(pupilIdentityStringItems[19]), + : DateTime.tryParse( + pupilIdentityStringItems[19], + )?.subtract(Duration(hours: 1)), ); return newPupilIdentity; } diff --git a/school_data_hub_flutter/lib/features/pupil/domain/pupil_identity_manager.dart b/school_data_hub_flutter/lib/features/pupil/domain/pupil_identity_manager.dart index 1bc4ccd1..c771844e 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/pupil_identity_manager.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/pupil_identity_manager.dart @@ -6,7 +6,7 @@ import 'package:flutter/foundation.dart'; import 'package:logging/logging.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; import 'package:school_data_hub_flutter/app_utils/custom_encrypter.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/app_utils/secure_storage.dart'; import 'package:school_data_hub_flutter/common/data/file_upload_service.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; @@ -137,8 +137,8 @@ class PupilIdentityManager { // We check now if the identities are outdated - final lastIdentitiesUpdate = - await PupilDataApiService().fetchLastIdentitiesUpdate(); + final lastIdentitiesUpdate = await PupilDataApiService() + .fetchLastIdentitiesUpdate(); if (lastIdentitiesUpdate != null && activeEnv.lastIdentitiesUpdate != null) { if (lastIdentitiesUpdate.isAfter(activeEnv.lastIdentitiesUpdate!)) { @@ -209,8 +209,9 @@ class PupilIdentityManager { await writePupilIdentitiesToStorage(); if (updateGroupFilters) { - final availableGroups = - _pupilIdentities.values.map((e) => e.group).toSet(); + final availableGroups = _pupilIdentities.values + .map((e) => e.group) + .toSet(); _groups.value = availableGroups; di<PupilsFilter>().populateGroupFilters(availableGroups.toList()); } @@ -257,8 +258,9 @@ class PupilIdentityManager { importedPupilIdentityList.add(pupilIdentity); - final bool ogsStatus = - pupilIdentityValues[14] == 'OFFGANZ' ? true : false; + final bool ogsStatus = pupilIdentityValues[14] == 'OFFGANZ' + ? true + : false; final idAndOgsStatus = '${int.parse(pupilIdentityValues[0])},$ogsStatus'; @@ -310,10 +312,9 @@ class PupilIdentityManager { ); await ClientHelper.apiCall( - call: - () => di<Client>().pupilIdentity.updateLastPupilIdentitiesUpdate( - DateTime.now().toUtc(), - ), + call: () => di<Client>().pupilIdentity.updateLastPupilIdentitiesUpdate( + DateTime.now().toUtc(), + ), errorMessage: 'Die letzte Aktualisierung konnte nicht gespeichert werden', ); @@ -340,21 +341,19 @@ class PupilIdentityManager { } _notificationService.showSnackBar( NotificationType.success, - 'Letzte Aktualisierung: ${lastUpdate.formatForJson()}', + 'Letzte Aktualisierung: ${lastUpdate.formatDateForUser()}', ); } Future<String> generatePupilIdentitiesQrData(List<int> internalIds) async { String qrString = ''; for (int internalId in internalIds) { - PupilIdentity pupilIdentity = - _pupilIdentities.values - .where((element) => element.id == internalId) - .single; - final migrationSupportEnds = - pupilIdentity.migrationSupportEnds != null - ? pupilIdentity.migrationSupportEnds!.formatForJson() - : ''; + PupilIdentity pupilIdentity = _pupilIdentities.values + .where((element) => element.id == internalId) + .single; + final migrationSupportEnds = pupilIdentity.migrationSupportEnds != null + ? pupilIdentity.migrationSupportEnds!.formatDateForJson() + : ''; // We need final specialNeeds = pupilIdentity.specialNeeds ?? ''; final family = pupilIdentity.family ?? ''; @@ -372,13 +371,13 @@ class PupilIdentityManager { pupilIdentity.gender, pupilIdentity.language, family, - pupilIdentity.birthday.formatForJson(), + pupilIdentity.birthday.formatDateForJson(), migrationSupportEnds, - pupilIdentity.pupilSince.formatForJson(), + pupilIdentity.pupilSince.formatDateForJson(), pupilIdentity.afterSchoolCare, pupilIdentity.religion ?? '', - pupilIdentity.religionLessonsSince?.formatForJson() ?? '', - pupilIdentity.leavingDate?.formatForJson() ?? '', + pupilIdentity.religionLessonsSince?.formatDateForJson() ?? '', + pupilIdentity.leavingDate?.formatDateForJson() ?? '', ].join(',') + ',\n'; qrString = qrString + pupilIdentityString; @@ -469,8 +468,9 @@ class PupilIdentityManager { break; case 'confirmed': // Check if confirmation is for a specific user - final targetUser = - event.value.isNotEmpty ? event.value : null; + final targetUser = event.value.isNotEmpty + ? event.value + : null; if (targetUser == null) { // Legacy: no targeting, proceed for any receiver if (onRequestConfirmed != null) { diff --git a/school_data_hub_flutter/lib/features/pupil/domain/pupil_manager.dart b/school_data_hub_flutter/lib/features/pupil/domain/pupil_manager.dart index 0d29cd19..f392896f 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/pupil_manager.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/pupil_manager.dart @@ -183,7 +183,9 @@ class PupilManager extends ChangeNotifier { final pupilsToFetch = di<PupilIdentityManager>().availablePupilIds; if (pupilsToFetch.isEmpty) { - _log.info('No pupil identities to fetch data from the backend'); + _log.info( + 'No pupil identities available, canot fetch pupils without ids', + ); return; } await fetchPupilsByInternalId(pupilsToFetch); @@ -221,13 +223,12 @@ class PupilManager extends ChangeNotifier { } // check if we did not get a pupil response for some ids // if so, we will delete the personal data for those ids later - final List<int> outdatedPupilIdentitiesIds = - pupilInternalIds - .where( - (element) => - !fetchedPupils.any((pupil) => pupil.internalId == element), - ) - .toList(); + final List<int> outdatedPupilIdentitiesIds = pupilInternalIds + .where( + (element) => + !fetchedPupils.any((pupil) => pupil.internalId == element), + ) + .toList(); // now we match the pupils from the response with their personal data @@ -361,10 +362,12 @@ class PupilManager extends ChangeNotifier { lentBy: lentBy ?? pupilBookLending.lentBy, status: status != null ? status.value : pupilBookLending.status, score: score != null ? score.value : pupilBookLending.score, - returnedAt: - returnedAt != null ? returnedAt.value : pupilBookLending.returnedAt, - receivedBy: - receivedBy != null ? receivedBy.value : pupilBookLending.receivedBy, + returnedAt: returnedAt != null + ? returnedAt.value + : pupilBookLending.returnedAt, + receivedBy: receivedBy != null + ? receivedBy.value + : pupilBookLending.receivedBy, ); final pupil = await _pupilBookApiService.updatePupilBookLending( bookLending: updatedBookLending, diff --git a/school_data_hub_flutter/lib/features/pupil/domain/pupil_mutator.dart b/school_data_hub_flutter/lib/features/pupil/domain/pupil_mutator.dart index 4a270aa7..14cb416e 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/pupil_mutator.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/pupil_mutator.dart @@ -5,6 +5,7 @@ import 'package:school_data_hub_client/school_data_hub_client.dart'; import 'package:school_data_hub_flutter/app_utils/custom_encrypter.dart'; import 'package:school_data_hub_flutter/core/session/hub_session_manager.dart'; import 'package:school_data_hub_flutter/features/pupil/data/pupil_data_api_service.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/enums.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/pupil_manager.dart'; import 'package:watch_it/watch_it.dart'; @@ -339,4 +340,75 @@ class PupilMutator { _pupilManager.updatePupilProxyWithPupilData(updatedPupil); } + + Future<void> updateAfterSchoolCare({ + required int pupilId, + ({String? value})? afterSchoolCareInfo, + ({bool? value})? emergencyCare, + ({AfterSchoolCareWeekday? value})? weekday, + String? time, + String? modality, + }) async { + // first we get the current after school care value or create a new one if it is null + final afterSchoolCarePupilValue = + di<PupilManager>().getPupilByPupilId(pupilId)!.afterSchoolCare ?? + AfterSchoolCare(); + AfterSchoolCarePickUpTimes? pickUpTimes = + afterSchoolCarePupilValue.pickUpTimes ?? AfterSchoolCarePickUpTimes(); + + if (weekday != null) { + switch (weekday.value!) { + case AfterSchoolCareWeekday.monday: + pickUpTimes.monday = PickUpInfo( + modality: modality ?? pickUpTimes.monday?.modality ?? '', + time: time ?? pickUpTimes.monday?.time ?? '', + ); + break; + case AfterSchoolCareWeekday.tuesday: + pickUpTimes.tuesday = PickUpInfo( + modality: modality ?? pickUpTimes.tuesday?.modality ?? '', + time: time ?? pickUpTimes.tuesday?.time ?? '', + ); + break; + case AfterSchoolCareWeekday.wednesday: + pickUpTimes.wednesday = PickUpInfo( + modality: modality ?? pickUpTimes.wednesday?.modality ?? '', + time: time ?? pickUpTimes.wednesday?.time ?? '', + ); + break; + case AfterSchoolCareWeekday.thursday: + pickUpTimes.thursday = PickUpInfo( + modality: modality ?? pickUpTimes.thursday?.modality ?? '', + time: time ?? pickUpTimes.thursday?.time ?? '', + ); + break; + case AfterSchoolCareWeekday.friday: + pickUpTimes.friday = PickUpInfo( + modality: modality ?? pickUpTimes.friday?.modality ?? '', + time: time ?? pickUpTimes.friday?.time ?? '', + ); + break; + } + } + + final afterSchoolCareToUpdate = afterSchoolCarePupilValue.copyWith( + afterSchoolCareInfo: afterSchoolCareInfo != null + ? afterSchoolCareInfo.value + : afterSchoolCarePupilValue.afterSchoolCareInfo, + emergencyCare: emergencyCare != null + ? emergencyCare.value + : afterSchoolCarePupilValue.emergencyCare, + pickUpTimes: pickUpTimes, + ); + + final PupilData? updatedPupil = await _pupilDataApiService + .updateAfterSchoolCare( + pupilId: pupilId, + afterSchoolCare: afterSchoolCareToUpdate, + ); + if (updatedPupil == null) { + return; + } + _pupilManager.updatePupilProxyWithPupilData(updatedPupil); + } } diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/birthdays_page.dart b/school_data_hub_flutter/lib/features/pupil/presentation/birthdays_page.dart index 9c6ea351..5eb35cda 100644 --- a/school_data_hub_flutter/lib/features/pupil/presentation/birthdays_page.dart +++ b/school_data_hub_flutter/lib/features/pupil/presentation/birthdays_page.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; @@ -15,8 +15,8 @@ class BirthdaysView extends StatelessWidget { @override Widget build(BuildContext context) { final Set<DateTime> seenBirthdays = {}; - final List<PupilProxy> pupils = - di<PupilManager>().getPupilsWithBirthdaySinceDate(selectedDate); + final List<PupilProxy> pupils = di<PupilManager>() + .getPupilsWithBirthdaySinceDate(selectedDate); return Scaffold( backgroundColor: AppColors.canvasColor, @@ -27,58 +27,71 @@ class BirthdaysView extends StatelessWidget { title: const Text('Geburtstage', style: AppStyles.appBarTextStyle), ), body: Center( - child: Column(crossAxisAlignment: CrossAxisAlignment.center, children: [ - Expanded( - child: ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 800), - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8.0), - child: SingleChildScrollView( - scrollDirection: Axis.vertical, - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - 'Geburtstage seit dem ${selectedDate.formatForUser()}', + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Expanded( + child: ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 800), + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 8.0), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Geburtstage seit dem ${selectedDate.formatDateForUser()}', style: const TextStyle( - fontWeight: FontWeight.bold, fontSize: 20)), - ListView.builder( + fontWeight: FontWeight.bold, + fontSize: 20, + ), + ), + ListView.builder( padding: const EdgeInsets.only(top: 10, bottom: 10), shrinkWrap: true, physics: const NeverScrollableScrollPhysics(), itemCount: pupils.length, itemBuilder: (context, int index) { PupilProxy listedPupil = pupils[index]; - final bool isBirthdayPrinted = - seenBirthdays.contains(DateTime( + final bool isBirthdayPrinted = seenBirthdays + .contains( + DateTime( DateTime.now().year, listedPupil.birthday.month, - listedPupil.birthday.day)); + listedPupil.birthday.day, + ), + ); if (!isBirthdayPrinted) { - seenBirthdays.add(DateTime( + seenBirthdays.add( + DateTime( DateTime.now().year, listedPupil.birthday.month, - listedPupil.birthday.day)); + listedPupil.birthday.day, + ), + ); } return Column( children: [ !isBirthdayPrinted ? Padding( padding: const EdgeInsets.symmetric( - vertical: 5.0), + vertical: 5.0, + ), child: Row( children: [ const Gap(5), Text( - '${DateTime(DateTime.now().year, listedPupil.birthday.month, listedPupil.birthday.day).asWeekdayName(context)}, ${listedPupil.birthday.formatForUser()}', + '${DateTime(DateTime.now().year, listedPupil.birthday.month, listedPupil.birthday.day).asWeekdayName(context)}, ${listedPupil.birthday.formatDateForUser()}', style: const TextStyle( - fontWeight: FontWeight.bold, - color: AppColors - .backgroundColor, - fontSize: 18), - ) + fontWeight: FontWeight.bold, + color: + AppColors.backgroundColor, + fontSize: 18, + ), + ), ], ), ) @@ -99,7 +112,9 @@ class BirthdaysView extends StatelessWidget { child: Row( children: [ AvatarWithBadges( - pupil: listedPupil, size: 80), + pupil: listedPupil, + size: 80, + ), const Gap(10), Column( crossAxisAlignment: @@ -108,14 +123,15 @@ class BirthdaysView extends StatelessWidget { Text( listedPupil.firstName, style: const TextStyle( - fontWeight: - FontWeight.bold, - fontSize: 18), + fontWeight: FontWeight.bold, + fontSize: 18, + ), ), Text( listedPupil.lastName, style: const TextStyle( - fontSize: 18), + fontSize: 18, + ), ), ], ), @@ -127,19 +143,19 @@ class BirthdaysView extends StatelessWidget { Text( listedPupil.age.toString(), style: const TextStyle( - fontWeight: - FontWeight.bold, - color: Colors.black, - fontSize: 24), + fontWeight: FontWeight.bold, + color: Colors.black, + fontSize: 24, + ), ), const Gap(5), const Text( 'Jahre alt', style: TextStyle( - fontWeight: - FontWeight.bold, - color: Colors.black, - fontSize: 18), + fontWeight: FontWeight.bold, + color: Colors.black, + fontSize: 18, + ), ), ], ), @@ -149,18 +165,20 @@ class BirthdaysView extends StatelessWidget { ), ), ), - const Gap(5) + const Gap(5), ], ); - }), - ], + }, + ), + ], + ), ), ), ), ), ), - ) - ]), + ], + ), ), floatingActionButton: FloatingActionButton( onPressed: () { diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/communication_content/communication_values.dart b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/communication_content/communication_values.dart index bbc4a923..ec91a79f 100644 --- a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/communication_content/communication_values.dart +++ b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/communication_content/communication_values.dart @@ -1,16 +1,13 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/pupil_helper_functions.dart'; class CommunicationValues extends StatelessWidget { final CommunicationSkills? communicationSkills; - const CommunicationValues({ - required this.communicationSkills, - super.key, - }); + const CommunicationValues({required this.communicationSkills, super.key}); @override Widget build(BuildContext context) { @@ -25,9 +22,12 @@ class CommunicationValues extends StatelessWidget { const Gap(10), Text( PupilHelper.communicationPredicate( - communicationSkills?.understanding), + communicationSkills?.understanding, + ), style: const TextStyle( - fontSize: 16, color: AppColors.interactiveColor), + fontSize: 16, + color: AppColors.interactiveColor, + ), ), ], ), @@ -39,9 +39,12 @@ class CommunicationValues extends StatelessWidget { const Gap(10), Text( PupilHelper.communicationPredicate( - communicationSkills?.speaking), + communicationSkills?.speaking, + ), style: const TextStyle( - fontSize: 16, color: AppColors.interactiveColor), + fontSize: 16, + color: AppColors.interactiveColor, + ), ), ], ), @@ -53,9 +56,12 @@ class CommunicationValues extends StatelessWidget { const Gap(10), Text( PupilHelper.communicationPredicate( - communicationSkills?.reading), + communicationSkills?.reading, + ), style: const TextStyle( - fontSize: 16, color: AppColors.interactiveColor), + fontSize: 16, + color: AppColors.interactiveColor, + ), ), ], ), @@ -65,8 +71,9 @@ class CommunicationValues extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.end, children: [ Text( - 'Erstellt von ${communicationSkills!.createdBy} am ${communicationSkills!.createdAt.formatForUser()}', - style: const TextStyle(fontSize: 12.0, color: Colors.grey)), + 'Erstellt von ${communicationSkills!.createdBy} am ${communicationSkills!.createdAt.formatDateForUser()}', + style: const TextStyle(fontSize: 12.0, color: Colors.grey), + ), ], ), const Gap(5), diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/communication_content/pupil_profile_communication_content.dart b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/communication_content/pupil_profile_communication_content.dart index 0203f02b..5fcbc4c1 100644 --- a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/communication_content/pupil_profile_communication_content.dart +++ b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/communication_content/pupil_profile_communication_content.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/information_dialog.dart'; @@ -82,19 +82,17 @@ class PupilProfileCommunicationContent extends WatchingWidget { _buildInfoRow( icon: Icons.support_outlined, label: 'Erstförderung', - value: - pupil.migrationSupportEnds != null - ? 'bis : ${pupil.migrationSupportEnds!.formatForUser()}' - : 'keine', + value: pupil.migrationSupportEnds != null + ? 'bis : ${pupil.migrationSupportEnds!.formatDateForUser()}' + : 'keine', ), const Gap(8), _buildInfoRow( icon: Icons.support_outlined, label: 'HKU', - value: - pupil.familyLanguageLessonsSince != null - ? 'seit ${pupil.familyLanguageLessonsSince!.formatForUser()}' - : 'nein', + value: pupil.familyLanguageLessonsSince != null + ? 'seit ${pupil.familyLanguageLessonsSince!.formatDateForUser()}' + : 'nein', ), ], ), @@ -109,12 +107,11 @@ class PupilProfileCommunicationContent extends WatchingWidget { _buildCommunicationRow( label: 'Kind', communicationSkills: communicationPupil, - onTap: - () => languageDialog( - context, - pupil, - CommunicationSubject.pupil, - ), + onTap: () => languageDialog( + context, + pupil, + CommunicationSubject.pupil, + ), onLongPress: () async { if (_hubSessionManager.isAdmin == false) { informationDialog( @@ -141,12 +138,11 @@ class PupilProfileCommunicationContent extends WatchingWidget { _buildCommunicationRow( label: 'Mutter / TutorIn 1', communicationSkills: tutorInfo?.communicationTutor1, - onTap: - () => languageDialog( - context, - pupil, - CommunicationSubject.tutor1, - ), + onTap: () => languageDialog( + context, + pupil, + CommunicationSubject.tutor1, + ), onLongPress: () async { final isAdmin = _hubSessionManager.isAdmin; if (!isAdmin) { @@ -176,12 +172,11 @@ class PupilProfileCommunicationContent extends WatchingWidget { _buildCommunicationRow( label: 'Vater / TutorIn 2', communicationSkills: tutorInfo?.communicationTutor2, - onTap: - () => languageDialog( - context, - pupil, - CommunicationSubject.tutor2, - ), + onTap: () => languageDialog( + context, + pupil, + CommunicationSubject.tutor2, + ), onLongPress: () async { final isAdmin = _hubSessionManager.isAdmin; if (!isAdmin) { @@ -200,12 +195,11 @@ class PupilProfileCommunicationContent extends WatchingWidget { if (success == true) { PupilMutator().updateTutorInfo( pupilId: pupil.pupilId, - tutorInfo: - tutorInfo != null - ? tutorInfo.copyWith(communicationTutor2: null) - : TutorInfo( - createdBy: _hubSessionManager.userName!, - ), + tutorInfo: tutorInfo != null + ? tutorInfo.copyWith(communicationTutor2: null) + : TutorInfo( + createdBy: _hubSessionManager.userName!, + ), ); } }, @@ -306,10 +300,9 @@ class PupilProfileCommunicationContent extends WatchingWidget { horizontal: 12, ), decoration: BoxDecoration( - color: - onTap != null - ? AppColors.interactiveColor.withValues(alpha: 0.1) - : Colors.transparent, + color: onTap != null + ? AppColors.interactiveColor.withValues(alpha: 0.1) + : Colors.transparent, borderRadius: BorderRadius.circular(8), ), child: Text( @@ -317,10 +310,9 @@ class PupilProfileCommunicationContent extends WatchingWidget { style: TextStyle( fontSize: 14, fontWeight: FontWeight.w600, - color: - onTap != null - ? AppColors.interactiveColor - : Colors.black87, + color: onTap != null + ? AppColors.interactiveColor + : Colors.black87, ), ), ), @@ -393,19 +385,18 @@ class PupilProfileCommunicationContent extends WatchingWidget { width: 1, ), ), - child: - communicationSkills == null - ? const Text( - 'kein Eintrag - tippen zum Hinzufügen', - style: TextStyle( - fontSize: 14, - fontStyle: FontStyle.italic, - color: AppColors.interactiveColor, - ), - ) - : CommunicationValues( - communicationSkills: communicationSkills, + child: communicationSkills == null + ? const Text( + 'kein Eintrag - tippen zum Hinzufügen', + style: TextStyle( + fontSize: 14, + fontStyle: FontStyle.italic, + color: AppColors.interactiveColor, ), + ) + : CommunicationValues( + communicationSkills: communicationSkills, + ), ), ), ], diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/infos_content/pupil_profile_infos_content.dart b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/infos_content/pupil_profile_infos_content.dart index 27237f2b..276bdc29 100644 --- a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/infos_content/pupil_profile_infos_content.dart +++ b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/infos_content/pupil_profile_infos_content.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/app_utils/pdf_viewer_page.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; @@ -108,16 +108,14 @@ class PupilProfileInfosContent extends WatchingWidget { width: double.infinity, padding: const EdgeInsets.all(16), decoration: BoxDecoration( - color: - pupil.specialInformation != null - ? AppColors.backgroundColor.withValues(alpha: 0.05) - : AppColors.interactiveColor.withValues(alpha: 0.05), + color: pupil.specialInformation != null + ? AppColors.backgroundColor.withValues(alpha: 0.05) + : AppColors.interactiveColor.withValues(alpha: 0.05), borderRadius: BorderRadius.circular(8), border: Border.all( - color: - pupil.specialInformation != null - ? AppColors.backgroundColor.withValues(alpha: 0.2) - : AppColors.interactiveColor.withValues(alpha: 0.2), + color: pupil.specialInformation != null + ? AppColors.backgroundColor.withValues(alpha: 0.2) + : AppColors.interactiveColor.withValues(alpha: 0.2), width: 1, ), ), @@ -126,18 +124,15 @@ class PupilProfileInfosContent extends WatchingWidget { 'Tippen Sie hier, um besondere Informationen hinzuzufügen', style: TextStyle( fontSize: 16, - fontWeight: - pupil.specialInformation != null - ? FontWeight.w500 - : FontWeight.normal, - color: - pupil.specialInformation != null - ? AppColors.backgroundColor - : AppColors.interactiveColor, - fontStyle: - pupil.specialInformation == null - ? FontStyle.italic - : FontStyle.normal, + fontWeight: pupil.specialInformation != null + ? FontWeight.w500 + : FontWeight.normal, + color: pupil.specialInformation != null + ? AppColors.backgroundColor + : AppColors.interactiveColor, + fontStyle: pupil.specialInformation == null + ? FontStyle.italic + : FontStyle.normal, ), ), ), @@ -159,13 +154,13 @@ class PupilProfileInfosContent extends WatchingWidget { _buildInfoRow( icon: Icons.cake_outlined, label: 'Geburtsdatum', - value: pupil.birthday.formatForUser(), + value: pupil.birthday.formatDateForUser(), ), const Gap(8), // Reduced from 12 to 8 _buildInfoRow( icon: Icons.school_outlined, label: 'Aufnahmedatum', - value: pupil.pupilSince.formatForUser(), + value: pupil.pupilSince.formatDateForUser(), ), ], ), @@ -180,10 +175,9 @@ class PupilProfileInfosContent extends WatchingWidget { _buildContactRow( icon: Icons.person_outline, label: 'Schüler/in Kontakt', - value: - pupil.contact?.isNotEmpty == true - ? pupil.contact! - : 'keine Angabe', + value: pupil.contact?.isNotEmpty == true + ? pupil.contact! + : 'keine Angabe', onTap: () { if (pupil.contact != null && pupil.contact!.isNotEmpty) { MatrixPolicyHelper.launchMatrixUrl( @@ -207,71 +201,66 @@ class PupilProfileInfosContent extends WatchingWidget { value: contact, ); }, - actionButton: - pupil.contact == null || pupil.contact!.isEmpty - ? IconButton( - onPressed: () { - Navigator.of(context).push( - MaterialPageRoute( - builder: - (ctx) => NewMatrixUserPage( - pupil: pupil, - matrixId: - MatrixPolicyHelper.generateMatrixId( - isParent: false, - ), - displayName: - '${pupil.firstName} ${pupil.lastName.substring(0, 1).toUpperCase()}. (${pupil.group})', - ), + actionButton: pupil.contact == null || pupil.contact!.isEmpty + ? IconButton( + onPressed: () { + Navigator.of(context).push( + MaterialPageRoute( + builder: (ctx) => NewMatrixUserPage( + pupil: pupil, + matrixId: MatrixPolicyHelper.generateMatrixId( + isParent: false, + ), + displayName: + '${pupil.firstName} ${pupil.lastName.substring(0, 1).toUpperCase()}. (${pupil.group})', ), + ), + ); + }, + icon: const Icon( + Icons.add_circle_outline, + size: 24, + color: AppColors.interactiveColor, + ), + ) + : IconButton( + onPressed: () async { + final confirmation = await confirmationDialog( + context: context, + title: 'Passwort zurücksetzen', + message: + 'Möchten Sie das Passwort wirklich zurücksetzen?', + ); + if (confirmation != true) return; + if (context.mounted) { + final logOutDevices = await logoutDevicesDialog( + context, ); - }, - icon: const Icon( - Icons.add_circle_outline, - size: 24, - color: AppColors.interactiveColor, - ), - ) - : IconButton( - onPressed: () async { - final confirmation = await confirmationDialog( - context: context, - title: 'Passwort zurücksetzen', - message: - 'Möchten Sie das Passwort wirklich zurücksetzen?', - ); - if (confirmation != true) return; - if (context.mounted) { - final logOutDevices = await logoutDevicesDialog( - context, - ); - if (logOutDevices == null) return; - final file = await _matrixPolicyManager.users - .resetPasswordAndPrintCredentialsFile( - user: - MatrixUserHelper.usersFromUserIds([ - pupil.contact!, - ]).first, - logoutDevices: logOutDevices, - isStaff: false, - ); - if (file != null && context.mounted) { - Navigator.of(context).push( - MaterialPageRoute( - builder: - (context) => - PdfViewerPage(pdfFile: file), - ), + if (logOutDevices == null) return; + final file = await _matrixPolicyManager.users + .resetPasswordAndPrintCredentialsFile( + user: MatrixUserHelper.usersFromUserIds([ + pupil.contact!, + ]).first, + logoutDevices: logOutDevices, + isStaff: false, ); - } + if (file != null && context.mounted) { + Navigator.of(context).push( + MaterialPageRoute( + builder: (context) => + PdfViewerPage(pdfFile: file), + ), + ); } - }, - icon: const Icon( - Icons.qr_code_2_rounded, - size: 24, - color: AppColors.backgroundColor, - ), + } + }, + icon: const Icon( + Icons.qr_code_2_rounded, + size: 24, + color: AppColors.backgroundColor, ), + ), ), const Gap(10), // Reduced from 16 to 10 _buildContactRow( @@ -300,93 +289,85 @@ class PupilProfileInfosContent extends WatchingWidget { if (parentsContact == null) return; await PupilMutator().updateTutorInfo( pupilId: pupil.pupilId, - tutorInfo: - pupil.tutorInfo != null - ? pupil.tutorInfo!.copyWith( - parentsContact: parentsContact, - ) - : TutorInfo( - parentsContact: parentsContact, - createdBy: _hubSessionManager.userName!, - ), + tutorInfo: pupil.tutorInfo != null + ? pupil.tutorInfo!.copyWith( + parentsContact: parentsContact, + ) + : TutorInfo( + parentsContact: parentsContact, + createdBy: _hubSessionManager.userName!, + ), ); }, - actionButton: - pupil.tutorInfo?.parentsContact == null - ? IconButton( - onPressed: () { - String? pupilSiblingsGroups; - if (pupil.family != null) { - pupilSiblingsGroups = - [ - ..._pupilManager.getSiblings(pupil), - pupil, - ].map((e) => e.group).toList().join(); - } - Navigator.of(context).push( - MaterialPageRoute( - builder: - (ctx) => NewMatrixUserPage( - pupil: pupil, - matrixId: - MatrixPolicyHelper.generateMatrixId( - isParent: true, - ), - displayName: - pupilSiblingsGroups != null - ? 'Fa. ${pupil.lastName} (E) $pupilSiblingsGroups' - : '${pupil.firstName} ${pupil.lastName.substring(0, 1).toUpperCase()}. (E) ${pupil.group}', - isParent: true, - ), + actionButton: pupil.tutorInfo?.parentsContact == null + ? IconButton( + onPressed: () { + String? pupilSiblingsGroups; + if (pupil.family != null) { + pupilSiblingsGroups = [ + ..._pupilManager.getSiblings(pupil), + pupil, + ].map((e) => e.group).toList().join(); + } + Navigator.of(context).push( + MaterialPageRoute( + builder: (ctx) => NewMatrixUserPage( + pupil: pupil, + matrixId: MatrixPolicyHelper.generateMatrixId( + isParent: true, + ), + displayName: pupilSiblingsGroups != null + ? 'Fa. ${pupil.lastName} (E) $pupilSiblingsGroups' + : '${pupil.firstName} ${pupil.lastName.substring(0, 1).toUpperCase()}. (E) ${pupil.group}', + isParent: true, ), + ), + ); + }, + icon: const Icon( + Icons.add_circle_outline, + size: 24, + color: AppColors.interactiveColor, + ), + ) + : IconButton( + onPressed: () async { + final confirmation = await confirmationDialog( + context: context, + title: 'Passwort zurücksetzen', + message: + 'Möchten Sie das Passwort wirklich zurücksetzen?', + ); + if (confirmation != true) return; + if (context.mounted) { + final logOutDevices = await logoutDevicesDialog( + context, ); - }, - icon: const Icon( - Icons.add_circle_outline, - size: 24, - color: AppColors.interactiveColor, - ), - ) - : IconButton( - onPressed: () async { - final confirmation = await confirmationDialog( - context: context, - title: 'Passwort zurücksetzen', - message: - 'Möchten Sie das Passwort wirklich zurücksetzen?', - ); - if (confirmation != true) return; - if (context.mounted) { - final logOutDevices = await logoutDevicesDialog( - context, - ); - if (logOutDevices == null) return; - final file = await _matrixPolicyManager.users - .resetPasswordAndPrintCredentialsFile( - user: - MatrixUserHelper.usersFromUserIds([ - pupil.tutorInfo!.parentsContact!, - ]).first, - logoutDevices: logOutDevices, - isStaff: false, - ); - if (file != null && context.mounted) { - Navigator.of(context).push( - MaterialPageRoute( - builder: - (context) => - PdfViewerPage(pdfFile: file), - ), + if (logOutDevices == null) return; + final file = await _matrixPolicyManager.users + .resetPasswordAndPrintCredentialsFile( + user: MatrixUserHelper.usersFromUserIds([ + pupil.tutorInfo!.parentsContact!, + ]).first, + logoutDevices: logOutDevices, + isStaff: false, ); - } + if (file != null && context.mounted) { + Navigator.of(context).push( + MaterialPageRoute( + builder: (context) => + PdfViewerPage(pdfFile: file), + ), + ); } - }, - icon: const Icon( - Icons.qr_code_2_rounded, - size: 24, - color: AppColors.backgroundColor, - ), + } + }, + icon: const Icon( + Icons.qr_code_2_rounded, + size: 24, + color: AppColors.backgroundColor, ), + ), ), ], ), @@ -409,108 +390,106 @@ class PupilProfileInfosContent extends WatchingWidget { _buildInfoSection( icon: Icons.family_restroom_outlined, title: 'Geschwister', - child: - pupilSiblings.isNotEmpty - ? ListView.builder( - shrinkWrap: true, - physics: const NeverScrollableScrollPhysics(), - itemCount: pupilSiblings.length, - itemBuilder: (context, int index) { - PupilProxy sibling = pupilSiblings[index]; - return Padding( - padding: const EdgeInsets.only(bottom: 12.0), - child: Card( - color: AppColors.pupilProfileCardColor, - child: InkWell( - onTap: () { - Navigator.of(context).push( - MaterialPageRoute( - builder: - (ctx) => - PupilProfilePage(pupil: sibling), - ), - ); - }, - borderRadius: BorderRadius.circular(12), - child: Padding( - padding: const EdgeInsets.all(16.0), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - AvatarWithBadges(pupil: sibling, size: 60), - const Gap(16), - Expanded( - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - Text( - '${sibling.firstName} ${sibling.lastName}', - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 18, - color: AppColors.backgroundColor, - ), + child: pupilSiblings.isNotEmpty + ? ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: pupilSiblings.length, + itemBuilder: (context, int index) { + PupilProxy sibling = pupilSiblings[index]; + return Padding( + padding: const EdgeInsets.only(bottom: 12.0), + child: Card( + color: AppColors.pupilProfileCardColor, + child: InkWell( + onTap: () { + Navigator.of(context).push( + MaterialPageRoute( + builder: (ctx) => + PupilProfilePage(pupil: sibling), + ), + ); + }, + borderRadius: BorderRadius.circular(12), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + AvatarWithBadges(pupil: sibling, size: 60), + const Gap(16), + Expanded( + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Text( + '${sibling.firstName} ${sibling.lastName}', + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 18, + color: AppColors.backgroundColor, ), - const Gap(4), - Text( - 'Klasse ${sibling.group}', - style: TextStyle( - fontSize: 16, - color: Colors.grey.withValues( - alpha: 0.8, - ), + ), + const Gap(4), + Text( + 'Klasse ${sibling.group}', + style: TextStyle( + fontSize: 16, + color: Colors.grey.withValues( + alpha: 0.8, ), ), - const Gap(4), - Text( - 'Geburtsdatum: ${sibling.birthday.formatForUser()}', - style: TextStyle( - fontSize: 14, - color: Colors.grey.withValues( - alpha: 0.7, - ), + ), + const Gap(4), + Text( + 'Geburtsdatum: ${sibling.birthday.formatDateForUser()}', + style: TextStyle( + fontSize: 14, + color: Colors.grey.withValues( + alpha: 0.7, ), ), - ], - ), - ), - Icon( - Icons.arrow_forward_ios, - color: AppColors.interactiveColor, - size: 18, + ), + ], ), - ], - ), + ), + Icon( + Icons.arrow_forward_ios, + color: AppColors.interactiveColor, + size: 18, + ), + ], ), ), ), - ); - }, - ) - : Card( - child: Padding( - padding: const EdgeInsets.all(20), - child: Row( - children: [ - Icon( - Icons.info_outline, - color: Colors.grey.withValues(alpha: 0.6), - size: 24, - ), - const Gap(12), - Text( - 'Keine Geschwister erfasst', - style: TextStyle( - fontSize: 16, - color: Colors.grey.withValues(alpha: 0.7), - fontStyle: FontStyle.italic, - ), - ), - ], ), + ); + }, + ) + : Card( + child: Padding( + padding: const EdgeInsets.all(20), + child: Row( + children: [ + Icon( + Icons.info_outline, + color: Colors.grey.withValues(alpha: 0.6), + size: 24, + ), + const Gap(12), + Text( + 'Keine Geschwister erfasst', + style: TextStyle( + fontSize: 16, + color: Colors.grey.withValues(alpha: 0.7), + fontStyle: FontStyle.italic, + ), + ), + ], ), ), + ), ), const Gap(20), // Extra spacing at the bottom ], @@ -590,10 +569,9 @@ class PupilProfileInfosContent extends WatchingWidget { horizontal: 12, ), decoration: BoxDecoration( - color: - onTap != null - ? AppColors.interactiveColor.withValues(alpha: 0.1) - : Colors.transparent, + color: onTap != null + ? AppColors.interactiveColor.withValues(alpha: 0.1) + : Colors.transparent, borderRadius: BorderRadius.circular(8), ), child: Text( @@ -601,12 +579,11 @@ class PupilProfileInfosContent extends WatchingWidget { style: TextStyle( fontSize: 14, // Reduced from 16 to 14 fontWeight: FontWeight.w600, - color: - onTap != null - ? AppColors - .interactiveColor // Keep blue for interactive elements - : Colors - .black87, // Changed from AppColors.backgroundColor to black for non-interactive + color: onTap != null + ? AppColors + .interactiveColor // Keep blue for interactive elements + : Colors + .black87, // Changed from AppColors.backgroundColor to black for non-interactive ), ), ), @@ -668,12 +645,9 @@ class PupilProfileInfosContent extends WatchingWidget { horizontal: 12, ), decoration: BoxDecoration( - color: - onTap != null - ? AppColors.interactiveColor.withValues( - alpha: 0.1, - ) - : Colors.transparent, + color: onTap != null + ? AppColors.interactiveColor.withValues(alpha: 0.1) + : Colors.transparent, borderRadius: BorderRadius.circular(8), ), child: Text( @@ -681,12 +655,11 @@ class PupilProfileInfosContent extends WatchingWidget { style: TextStyle( fontSize: 14, // Reduced from 16 to 14 fontWeight: FontWeight.w600, - color: - onTap != null - ? AppColors - .interactiveColor // Keep blue for interactive elements - : Colors - .black87, // Changed from AppColors.backgroundColor to black for non-interactive + color: onTap != null + ? AppColors + .interactiveColor // Keep blue for interactive elements + : Colors + .black87, // Changed from AppColors.backgroundColor to black for non-interactive ), ), ), diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/learning_content/pupil_profile_learning_content.dart b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/learning_content/pupil_profile_learning_content.dart index 0ea8e8dc..8035f78e 100644 --- a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/learning_content/pupil_profile_learning_content.dart +++ b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/learning_content/pupil_profile_learning_content.dart @@ -1,7 +1,7 @@ import 'package:calendar_date_picker2/calendar_date_picker2.dart'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/theme/paddings.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; @@ -20,85 +20,134 @@ class PupilLearningContent extends WatchingWidget { watch(pupil); return Card( color: AppColors.pupilProfileCardColor, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - ), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), child: Padding( padding: AppPaddings.pupilProfileCardPadding, - child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ - const Row(crossAxisAlignment: CrossAxisAlignment.center, children: [ - Icon( - Icons.lightbulb, - color: AppColors.accentColor, - size: 24, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Icon(Icons.lightbulb, color: AppColors.accentColor, size: 24), + Gap(5), + Text( + 'Lernen', + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: AppColors.backgroundColor, + ), + ), + ], ), - Gap(5), - Text('Lernen', - style: TextStyle( - fontSize: 24, - fontWeight: FontWeight.bold, - color: AppColors.backgroundColor, - )) - ]), - const Gap(10), - Row( - children: [ - const Gap(5), - const Text('3 Jahre Eingangsphase?'), - const Gap(5), - InkWell( - onTap: () async { - final date = await showCalendarDatePicker2Dialog( - context: context, - config: CalendarDatePicker2WithActionButtonsConfig( - // selectableDayPredicate: (day) => - // !schooldayDates.any((element) => element.isSameDate(day)), - calendarType: CalendarDatePicker2Type.single, - ), - dialogSize: const Size(325, 400), - value: [], //schooldayDates, - borderRadius: BorderRadius.circular(15), - ); + const Gap(10), + Row( + children: [ + const Gap(5), + const Text('3 Jahre Eingangsphase?'), + const Gap(5), + InkWell( + onTap: () async { + final date = await showCalendarDatePicker2Dialog( + context: context, + config: CalendarDatePicker2WithActionButtonsConfig( + // selectableDayPredicate: (day) => + // !schooldayDates.any((element) => element.isSameDate(day)), + calendarType: CalendarDatePicker2Type.single, + ), + dialogSize: const Size(325, 400), + value: [], //schooldayDates, + borderRadius: BorderRadius.circular(15), + ); - if (date != null && date.isNotEmpty) { - di<PupilManager>().updateSchoolyearHeldBackDate( + if (date != null && date.isNotEmpty) { + di<PupilManager>().updateSchoolyearHeldBackDate( pupilId: pupil.pupilId, - date: (value: date.first!.toUtc())); - } - }, - onLongPress: () async { - if (pupil.schoolyearHeldBackAt == null) return; - final confirmation = await confirmationDialog( + date: (value: date.first!.toUtc()), + ); + } + }, + onLongPress: () async { + if (pupil.schoolyearHeldBackAt == null) return; + final confirmation = await confirmationDialog( context: context, title: 'Eintrag löschen', - message: 'Eintrag wirklich löschen?'); - if (confirmation != true) return; - di<PupilManager>().updateSchoolyearHeldBackDate( - pupilId: pupil.internalId, date: (value: null)); - }, - child: Text( - pupil.schoolyearHeldBackAt != null - ? 'Entscheidung vom ${pupil.schoolyearHeldBackAt!.formatForUser()}' - : 'nein', - style: const TextStyle( - color: AppColors.interactiveColor, - fontWeight: FontWeight.bold, + message: 'Eintrag wirklich löschen?', + ); + if (confirmation != true) return; + di<PupilManager>().updateSchoolyearHeldBackDate( + pupilId: pupil.internalId, + date: (value: null), + ); + }, + child: Text( + pupil.schoolyearHeldBackAt != null + ? 'Entscheidung vom ${pupil.schoolyearHeldBackAt!.formatDateForUser()}' + : 'nein', + style: const TextStyle( + color: AppColors.interactiveColor, + fontWeight: FontWeight.bold, + ), ), ), + ], + ), + + const Gap(5), + Row( + children: [ + const Gap(5), + const Text('Klassenleitung:'), + const Gap(5), + Text( + pupil.groupTutor ?? 'Kein Eintrag', + style: const TextStyle(fontWeight: FontWeight.bold), + ), + ], + ), + + if (pupil.familyLanguageLessonsSince != null) ...[ + const Gap(5), + Row( + children: [ + const Gap(5), + const Text('HSU seit:'), + const Gap(5), + Text( + pupil.familyLanguageLessonsSince?.formatDateForUser() ?? + 'Kein Eintrag', + style: const TextStyle(fontWeight: FontWeight.bold), + ), + Text(pupil.language), + ], ), ], - ), - const Gap(10), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - CompetenceChecksBadges(pupil: pupil), + if (pupil.religionLessonsSince != null) ...[ + const Gap(5), + Row( + children: [ + const Gap(5), + const Text('Religionsunterricht seit:'), + const Gap(5), + Text( + pupil.religionLessonsSince?.formatDateForUser() ?? + 'Kein Eintrag', + style: const TextStyle(fontWeight: FontWeight.bold), + ), + const Gap(5), + Text(pupil.religion ?? 'Kein Eintrag'), + ], + ), ], - ), - PupilLearningContentExpansionTileNavBar( - pupil: pupil, - ), - ]), + const Gap(10), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [CompetenceChecksBadges(pupil: pupil)], + ), + PupilLearningContentExpansionTileNavBar(pupil: pupil), + ], + ), ), ); } diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/learning_support_content/support_level_history_expansion_tile.dart b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/learning_support_content/support_level_history_expansion_tile.dart index 1c40cf44..d1bc8dd6 100644 --- a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/learning_support_content/support_level_history_expansion_tile.dart +++ b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/learning_support_content/support_level_history_expansion_tile.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; import 'package:school_data_hub_flutter/app_utils/custom_encrypter.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; import 'package:school_data_hub_flutter/core/session/hub_session_manager.dart'; @@ -54,12 +54,11 @@ class _SupportLevelHistoryExpansionTileState const Text('Förderebene:', style: TextStyle(fontSize: 15.0)), const Gap(10), InkWell( - onTap: - () => supportLevelDialog( - context, - pupil, - pupil.latestSupportLevel!.level, - ), + onTap: () => supportLevelDialog( + context, + pupil, + pupil.latestSupportLevel!.level, + ), child: Text( pupil.latestSupportLevel == null ? 'kein Eintrag' @@ -83,102 +82,105 @@ class _SupportLevelHistoryExpansionTileState children: [ pupil.supportLevelHistory != null ? ListView.builder( - shrinkWrap: true, - physics: const NeverScrollableScrollPhysics(), - itemCount: widget.pupil.supportLevelHistory!.length, - itemBuilder: (context, index) { - return Padding( - padding: const EdgeInsets.symmetric(vertical: 4.0), - child: GestureDetector( - onLongPress: () async { - final confirmation = await confirmationDialog( - context: context, - title: 'Eintrag löschen', - message: 'Eintrag wirklich löschen?', - ); - if (confirmation != true) return; - if (_hubSessionManager.isAdmin) { - PupilMutator().deleteSupportLevelHistoryItem( - pupilId: pupil.pupilId, - supportLevelId: plans[index].id!, + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: widget.pupil.supportLevelHistory!.length, + itemBuilder: (context, index) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 4.0), + child: GestureDetector( + onLongPress: () async { + final confirmation = await confirmationDialog( + context: context, + title: 'Eintrag löschen', + message: 'Eintrag wirklich löschen?', ); - } - }, - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - widget.pupil.supportLevelHistory![index].createdAt - .formatForUser(), - style: const TextStyle( - color: Colors.black, - fontWeight: FontWeight.bold, - fontSize: 18, + if (confirmation != true) return; + if (_hubSessionManager.isAdmin) { + PupilMutator().deleteSupportLevelHistoryItem( + pupilId: pupil.pupilId, + supportLevelId: plans[index].id!, + ); + } + }, + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + widget + .pupil + .supportLevelHistory![index] + .createdAt + .formatDateForUser(), + style: const TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: 18, + ), ), - ), - const Gap(20), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - const Text( - 'Förderebene ', - style: TextStyle( - color: Colors.black, - fontWeight: FontWeight.bold, - fontSize: 18, + const Gap(20), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + const Text( + 'Förderebene ', + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: 18, + ), ), - ), - Text( - widget - .pupil - .supportLevelHistory![index] - .level - .toString(), - style: const TextStyle( - color: AppColors.backgroundColor, - fontWeight: FontWeight.bold, - fontSize: 18, + Text( + widget + .pupil + .supportLevelHistory![index] + .level + .toString(), + style: const TextStyle( + color: AppColors.backgroundColor, + fontWeight: FontWeight.bold, + fontSize: 18, + ), ), - ), - ], - ), - Row( - children: [ - Text( - pupil - .supportLevelHistory![index] - .comment != - '' - ? customEncrypter.decryptString( - pupil - .supportLevelHistory![index] - .comment, - ) - : '', - style: const TextStyle(fontSize: 14), - ), - ], + ], + ), + Row( + children: [ + Text( + pupil + .supportLevelHistory![index] + .comment != + '' + ? customEncrypter.decryptString( + pupil + .supportLevelHistory![index] + .comment, + ) + : '', + style: const TextStyle(fontSize: 14), + ), + ], + ), + ], + ), + const Spacer(), + Text( + pupil.supportLevelHistory![index].createdBy, + style: const TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: 18, ), - ], - ), - const Spacer(), - Text( - pupil.supportLevelHistory![index].createdBy, - style: const TextStyle( - color: Colors.black, - fontWeight: FontWeight.bold, - fontSize: 18, ), - ), - const Gap(10), - ], + const Gap(10), + ], + ), ), - ), - ); - }, - ) + ); + }, + ) : const Text('keine Einträge'), ], ), diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/select_pupils_list_page/widgets/select_pupils_filter_bottom_sheet.dart b/school_data_hub_flutter/lib/features/pupil/presentation/select_pupils_list_page/widgets/select_pupils_filter_bottom_sheet.dart index 6099a109..e6832827 100644 --- a/school_data_hub_flutter/lib/features/pupil/presentation/select_pupils_list_page/widgets/select_pupils_filter_bottom_sheet.dart +++ b/school_data_hub_flutter/lib/features/pupil/presentation/select_pupils_list_page/widgets/select_pupils_filter_bottom_sheet.dart @@ -21,9 +21,9 @@ class SelectPupilsFilterBottomSheet extends WatchingWidget { (PupilFilterManager x) => x.pupilFilterState, ); - bool valueOgs = activePupilFilters[PupilFilter.ogs]!; + bool valueOgs = activePupilFilters[PupilFilter.afterSchoolCare]!; - bool valueNotOgs = activePupilFilters[PupilFilter.notOgs]!; + bool valueNotOgs = activePupilFilters[PupilFilter.noAfterSchoolCare]!; //- LEARNING SUPPORT FILTERS Map<SupportLevelType, bool> supportLevelFilters = watchValue( @@ -50,6 +50,7 @@ class SelectPupilsFilterBottomSheet extends WatchingWidget { bool valueSupportAreaLearning = supportAreaFilters[SupportArea.learning]!; bool valueSupportAreaGerman = supportAreaFilters[SupportArea.german]!; bool valueSupportAreaLanguage = supportAreaFilters[SupportArea.language]!; + final religionCourseFilters = di<PupilsFilter>().religionCourseFilters; // bool valueSupportAreaTurkish = supportAreaFilters[PupilFilter.turkishClass]; // bool valueSupportAreaArabic = supportAreaFilters[PupilFilter.arabicClass]!; // bool valueSupportAreaAlbanian = @@ -93,8 +94,8 @@ class SelectPupilsFilterBottomSheet extends WatchingWidget { _pupilFilterLocator.setPupilFilter( pupilFilterRecords: [ - (filter: PupilFilter.notOgs, value: false), - (filter: PupilFilter.ogs, value: val), + (filter: PupilFilter.noAfterSchoolCare, value: false), + (filter: PupilFilter.afterSchoolCare, value: val), ], ); return; @@ -102,7 +103,7 @@ class SelectPupilsFilterBottomSheet extends WatchingWidget { _pupilFilterLocator.setPupilFilter( pupilFilterRecords: [ - (filter: PupilFilter.ogs, value: val), + (filter: PupilFilter.afterSchoolCare, value: val), ], ); }, @@ -115,15 +116,15 @@ class SelectPupilsFilterBottomSheet extends WatchingWidget { // in case not ogs is selected, ogs should be deselected _pupilFilterLocator.setPupilFilter( pupilFilterRecords: [ - (filter: PupilFilter.ogs, value: false), - (filter: PupilFilter.notOgs, value: val), + (filter: PupilFilter.afterSchoolCare, value: false), + (filter: PupilFilter.noAfterSchoolCare, value: val), ], ); return; } _pupilFilterLocator.setPupilFilter( pupilFilterRecords: [ - (filter: PupilFilter.notOgs, value: val), + (filter: PupilFilter.noAfterSchoolCare, value: val), ], ); }, @@ -297,6 +298,23 @@ class SelectPupilsFilterBottomSheet extends WatchingWidget { ), ], ), + const Row(children: [Text('Jahrgang', style: AppStyles.subtitle)]), + const Gap(5), + Wrap( + spacing: 5, + crossAxisAlignment: WrapCrossAlignment.center, + alignment: WrapAlignment.center, + children: [ + for (final religionCourseFilter in religionCourseFilters) + ThemedFilterChip( + label: religionCourseFilter.displayName, + selected: watch(religionCourseFilter).isActive, + onSelected: (val) { + religionCourseFilter.toggle(val); + }, + ), + ], + ), const Gap(20), ], ), diff --git a/school_data_hub_flutter/lib/features/school_calendar/presentation/new_school_semester_page/schooldays_calendar_page/schooldays_calendar_page.dart b/school_data_hub_flutter/lib/features/school_calendar/presentation/new_school_semester_page/schooldays_calendar_page/schooldays_calendar_page.dart index b8d44a30..c4d4deb2 100644 --- a/school_data_hub_flutter/lib/features/school_calendar/presentation/new_school_semester_page/schooldays_calendar_page/schooldays_calendar_page.dart +++ b/school_data_hub_flutter/lib/features/school_calendar/presentation/new_school_semester_page/schooldays_calendar_page/schooldays_calendar_page.dart @@ -2,7 +2,7 @@ import 'package:calendar_date_picker2/calendar_date_picker2.dart'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:intl/intl.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; @@ -43,8 +43,9 @@ class SchooldaysCalendarState extends State<SchooldaysCalendarPage> { @override Widget build(BuildContext context) { final schooldays = watchValue((SchoolCalendarManager x) => x.schooldays); - final schooldayDates = - schooldays.map((e) => e.schoolday.toLocal()).toList(); + final schooldayDates = schooldays + .map((e) => e.schoolday.toLocal()) + .toList(); // List<MissedSchoolday> missedSchooldays = // di<AttendanceManager>().getMissedSchooldayesOnADay(_selectedDay!); return Scaffold( @@ -79,11 +80,8 @@ class SchooldaysCalendarState extends State<SchooldaysCalendarPage> { var results = await showCalendarDatePicker2Dialog( context: context, config: CalendarDatePicker2WithActionButtonsConfig( - selectableDayPredicate: - (day) => - !schooldayDates.any( - (element) => element.isSameDate(day), - ), + selectableDayPredicate: (day) => + !schooldayDates.any((element) => element.isSameDate(day)), calendarType: CalendarDatePicker2Type.multi, ), dialogSize: const Size(325, 400), @@ -145,10 +143,9 @@ class SchooldaysCalendarState extends State<SchooldaysCalendarPage> { availableCalendarFormats: const { CalendarFormat.month: 'Month', }, - enabledDayPredicate: - (day) => schooldayDates.any( - (element) => element.isSameDate(day), - ), + enabledDayPredicate: (day) => schooldayDates.any( + (element) => element.isSameDate(day), + ), calendarBuilders: CalendarBuilders( singleMarkerBuilder: null, // singleMarkerBuilder: (context, date, events) => @@ -173,19 +170,18 @@ class SchooldaysCalendarState extends State<SchooldaysCalendarPage> { // day.day.toString(), // style: TextStyle(color: Colors.white), // )), - todayBuilder: - (context, date, events) => Container( - margin: const EdgeInsets.all(4.0), - alignment: Alignment.center, - decoration: BoxDecoration( - color: Theme.of(context).highlightColor, - borderRadius: BorderRadius.circular(10.0), - ), - child: Text( - date.day.toString(), - style: const TextStyle(color: Colors.white), - ), - ), + todayBuilder: (context, date, events) => Container( + margin: const EdgeInsets.all(4.0), + alignment: Alignment.center, + decoration: BoxDecoration( + color: Theme.of(context).highlightColor, + borderRadius: BorderRadius.circular(10.0), + ), + child: Text( + date.day.toString(), + style: const TextStyle(color: Colors.white), + ), + ), ), firstDay: kFirstDay, lastDay: kLastDay, @@ -206,7 +202,7 @@ class SchooldaysCalendarState extends State<SchooldaysCalendarPage> { context: context, title: 'Schultag löschen', message: - 'Möchtest du den Schultag ${selectedDay.formatForUser()} wirklich löschen?', + 'Möchtest du den Schultag ${selectedDay.formatDateForUser()} wirklich löschen?', ); if (confirm == null || !confirm) return; await _schoolCalendarManager.deleteSchoolday(selectedDay); @@ -227,53 +223,52 @@ class SchooldaysCalendarState extends State<SchooldaysCalendarPage> { ), ), SliverToBoxAdapter( - child: - _selectedDay != null - ? Row( - children: [ - const Gap(15), - Text( - DateFormat( - 'EEEE', - Localizations.localeOf(context).toString(), - ).format(_selectedDay!), - style: const TextStyle( - fontSize: 20.0, - fontWeight: FontWeight.bold, - ), + child: _selectedDay != null + ? Row( + children: [ + const Gap(15), + Text( + DateFormat( + 'EEEE', + Localizations.localeOf(context).toString(), + ).format(_selectedDay!), + style: const TextStyle( + fontSize: 20.0, + fontWeight: FontWeight.bold, ), - const Gap(5), - Text( - ' ${_selectedDay?.formatForUser()}', - style: const TextStyle( - fontSize: 20.0, - fontWeight: FontWeight.bold, - ), + ), + const Gap(5), + Text( + ' ${_selectedDay?.formatDateForUser()}', + style: const TextStyle( + fontSize: 20.0, + fontWeight: FontWeight.bold, ), - const Gap(40), - // Text( - // missedSchooldays - // .where((missedSchoolday) => - // missedSchoolday.missedType == 'missed') - // .length - // .toString(), - // style: const TextStyle( - // fontSize: 28.0, fontWeight: FontWeight.bold)), - // const Gap(20) - ], - ) - : const Row( - children: [ - Gap(15), - Text( - 'Kein Tag ausgewählt', - style: TextStyle( - fontSize: 18.0, - fontWeight: FontWeight.bold, - ), + ), + const Gap(40), + // Text( + // missedSchooldays + // .where((missedSchoolday) => + // missedSchoolday.missedType == 'missed') + // .length + // .toString(), + // style: const TextStyle( + // fontSize: 28.0, fontWeight: FontWeight.bold)), + // const Gap(20) + ], + ) + : const Row( + children: [ + Gap(15), + Text( + 'Kein Tag ausgewählt', + style: TextStyle( + fontSize: 18.0, + fontWeight: FontWeight.bold, ), - ], - ), + ), + ], + ), ), // SliverList( // delegate: SliverChildBuilderDelegate( diff --git a/school_data_hub_flutter/lib/features/school_calendar/presentation/new_school_semester_page/widgets/date_picker_button.dart b/school_data_hub_flutter/lib/features/school_calendar/presentation/new_school_semester_page/widgets/date_picker_button.dart index 71cadbec..ce01d5d8 100644 --- a/school_data_hub_flutter/lib/features/school_calendar/presentation/new_school_semester_page/widgets/date_picker_button.dart +++ b/school_data_hub_flutter/lib/features/school_calendar/presentation/new_school_semester_page/widgets/date_picker_button.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; class DatePickerButton extends StatelessWidget { final DateTime? dateToSelect; @@ -26,7 +26,7 @@ class DatePickerButton extends StatelessWidget { }, child: Text( dateToSelect != null - ? dateToSelect!.formatForUser() + ? dateToSelect!.formatDateForUser() : 'Bitte auswählen', style: const TextStyle( color: Colors.black, diff --git a/school_data_hub_flutter/lib/features/school_lists/services/school_list_pdf_generator.dart b/school_data_hub_flutter/lib/features/school_lists/services/school_list_pdf_generator.dart index 649a130a..54ff6ded 100644 --- a/school_data_hub_flutter/lib/features/school_lists/services/school_list_pdf_generator.dart +++ b/school_data_hub_flutter/lib/features/school_lists/services/school_list_pdf_generator.dart @@ -8,7 +8,7 @@ import 'package:pdf/pdf.dart'; import 'package:pdf/widgets.dart' as pw; import 'package:printing/printing.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/generic_components/generic_app_bar.dart'; @@ -95,8 +95,9 @@ class SchoolListPdfGenerator { int currentIndex = 0; for (int page = 1; page <= totalPages; page++) { - final int pupilsOnThisPage = - page == 1 ? maxPupilsFirstPage : maxPupilsPerPage; + final int pupilsOnThisPage = page == 1 + ? maxPupilsFirstPage + : maxPupilsPerPage; final endIndex = (currentIndex + pupilsOnThisPage).clamp( 0, pupilEntries.length, @@ -131,7 +132,7 @@ class SchoolListPdfGenerator { // Get the proper directory for saving files final directory = await getApplicationDocumentsDirectory(); final fileName = - "Schulliste_${schoolList.name}_${DateTime.now().formatForUser()}.pdf"; + "Schulliste_${schoolList.name}_${DateTime.now().formatDateForUser()}.pdf"; final file = File('${directory.path}/$fileName'); await file.writeAsBytes(await pdf.save()); @@ -199,9 +200,8 @@ class SchoolListPdfGenerator { } catch (e) { // Return a minimal page return pw.Page( - build: - (context) => - pw.Center(child: pw.Text('Error on page $pageNumber: $e')), + build: (context) => + pw.Center(child: pw.Text('Error on page $pageNumber: $e')), ); } } @@ -546,7 +546,7 @@ class SchoolListPdfGenerator { style: pw.TextStyle(fontSize: 8, font: fontRegular), ), pw.Text( - 'Erstellt am: ${DateTime.now().formatForUser()}', + 'Erstellt am: ${DateTime.now().formatDateForUser()}', style: pw.TextStyle(fontSize: 8, font: fontRegular), ), ], diff --git a/school_data_hub_flutter/lib/features/statistics/statistics_page/controller/statistics.dart b/school_data_hub_flutter/lib/features/statistics/statistics_page/controller/statistics.dart index 877da66e..9f3c3579 100644 --- a/school_data_hub_flutter/lib/features/statistics/statistics_page/controller/statistics.dart +++ b/school_data_hub_flutter/lib/features/statistics/statistics_page/controller/statistics.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/pupil_helper_functions.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/pupil_manager.dart'; diff --git a/school_data_hub_flutter/lib/features/timetable/presentation/new_lesson_group_page/new_lesson_group_page.dart b/school_data_hub_flutter/lib/features/timetable/presentation/new_lesson_group_page/new_lesson_group_page.dart index b0fea3ec..d915ce4d 100644 --- a/school_data_hub_flutter/lib/features/timetable/presentation/new_lesson_group_page/new_lesson_group_page.dart +++ b/school_data_hub_flutter/lib/features/timetable/presentation/new_lesson_group_page/new_lesson_group_page.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; import 'package:school_data_hub_flutter/features/timetable/domain/timetable_manager.dart'; @@ -160,7 +160,7 @@ class NewLessonGroupPage extends WatchingWidget { return; } - final now = DateTime.now().toUtcForServer(); + final now = DateTime.now().formatToUtcForServer(); final lessonGroupData = LessonGroup( id: lessonGroup?.id, publicId: @@ -221,97 +221,89 @@ class NewLessonGroupPage extends WatchingWidget { } }, onCancel: () => Navigator.of(context).pop(), - onDelete: - _isEditing - ? () { - if (lessonGroup?.id == null) return; + onDelete: _isEditing + ? () { + if (lessonGroup?.id == null) return; - // Check if the lesson group is used in any scheduled lessons - final scheduledLessons = - timetableManager.scheduledLessons.value - .where( - (lesson) => - lesson.lessonGroupId == - lessonGroup!.id, - ) - .toList(); - - if (scheduledLessons.isNotEmpty) { - showDialog( - context: context, - builder: - (context) => AlertDialog( - title: const Text( - 'Klasse kann nicht gelöscht werden', - ), - content: Text( - 'Diese Klasse wird in ${scheduledLessons.length} geplanten Stunden verwendet und kann nicht gelöscht werden.', - ), - actions: [ - TextButton( - onPressed: - () => - Navigator.of( - context, - ).pop(), - child: const Text('OK'), - ), - ], - ), - ); - return; - } + // Check if the lesson group is used in any scheduled lessons + final scheduledLessons = timetableManager + .scheduledLessons + .value + .where( + (lesson) => + lesson.lessonGroupId == lessonGroup!.id, + ) + .toList(); + if (scheduledLessons.isNotEmpty) { showDialog( context: context, - builder: - (context) => AlertDialog( - title: const Text('Klasse löschen'), - content: Text( - 'Sind Sie sicher, dass Sie die Klasse "${lessonGroup!.name}" löschen möchten?\n\n' - 'Diese Aktion kann nicht rückgängig gemacht werden.', - ), - actions: [ - TextButton( - onPressed: - () => - Navigator.of(context).pop(), - child: const Text('Abbrechen'), - ), - TextButton( - onPressed: () { - timetableManager - .removeLessonGroup( - lessonGroup!.id!, - ); - Navigator.of( - context, - ).pop(); // Close dialog - Navigator.of( - context, - ).pop(); // Close page + builder: (context) => AlertDialog( + title: const Text( + 'Klasse kann nicht gelöscht werden', + ), + content: Text( + 'Diese Klasse wird in ${scheduledLessons.length} geplanten Stunden verwendet und kann nicht gelöscht werden.', + ), + actions: [ + TextButton( + onPressed: () => + Navigator.of(context).pop(), + child: const Text('OK'), + ), + ], + ), + ); + return; + } + + showDialog( + context: context, + builder: (context) => AlertDialog( + title: const Text('Klasse löschen'), + content: Text( + 'Sind Sie sicher, dass Sie die Klasse "${lessonGroup!.name}" löschen möchten?\n\n' + 'Diese Aktion kann nicht rückgängig gemacht werden.', + ), + actions: [ + TextButton( + onPressed: () => + Navigator.of(context).pop(), + child: const Text('Abbrechen'), + ), + TextButton( + onPressed: () { + timetableManager.removeLessonGroup( + lessonGroup!.id!, + ); + Navigator.of( + context, + ).pop(); // Close dialog + Navigator.of( + context, + ).pop(); // Close page - ScaffoldMessenger.of( - context, - ).showSnackBar( - SnackBar( - content: Text( - 'Klasse "${lessonGroup!.name}" wurde gelöscht', - ), - backgroundColor: Colors.red, - ), - ); - }, - style: TextButton.styleFrom( - foregroundColor: Colors.red, + ScaffoldMessenger.of( + context, + ).showSnackBar( + SnackBar( + content: Text( + 'Klasse "${lessonGroup!.name}" wurde gelöscht', ), - child: const Text('Löschen'), + backgroundColor: Colors.red, ), - ], + ); + }, + style: TextButton.styleFrom( + foregroundColor: Colors.red, ), - ); - } - : null, + child: const Text('Löschen'), + ), + ], + ), + ); + } + : null, ), ], ), diff --git a/school_data_hub_flutter/lib/features/timetable/presentation/new_scheduled_lesson_page/new_scheduled_lesson_page.dart b/school_data_hub_flutter/lib/features/timetable/presentation/new_scheduled_lesson_page/new_scheduled_lesson_page.dart index 28890e10..2e3e2ade 100644 --- a/school_data_hub_flutter/lib/features/timetable/presentation/new_scheduled_lesson_page/new_scheduled_lesson_page.dart +++ b/school_data_hub_flutter/lib/features/timetable/presentation/new_scheduled_lesson_page/new_scheduled_lesson_page.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; import 'package:school_data_hub_flutter/core/session/hub_session_manager.dart'; @@ -44,10 +44,9 @@ class NewScheduledLessonPage extends WatchingWidget { // Create ValueListenable for state management final selectedSubject = createOnce<ValueNotifier<Subject?>>(() { if (_isEditing) { - final editingLesson = - timetableManager.scheduledLessons.value - .where((lesson) => lesson.id == editingLessonId) - .firstOrNull; + final editingLesson = timetableManager.scheduledLessons.value + .where((lesson) => lesson.id == editingLessonId) + .firstOrNull; if (editingLesson != null) { return ValueNotifier<Subject?>( timetableManager.getSubjectById(editingLesson.subjectId), @@ -59,10 +58,9 @@ class NewScheduledLessonPage extends WatchingWidget { final selectedSlot = createOnce<ValueNotifier<TimetableSlot?>>(() { if (_isEditing) { - final editingLesson = - timetableManager.scheduledLessons.value - .where((lesson) => lesson.id == editingLessonId) - .firstOrNull; + final editingLesson = timetableManager.scheduledLessons.value + .where((lesson) => lesson.id == editingLessonId) + .firstOrNull; if (editingLesson != null) { return ValueNotifier<TimetableSlot?>( timetableManager.getTimetableSlotById(editingLesson.scheduledAtId), @@ -78,10 +76,9 @@ class NewScheduledLessonPage extends WatchingWidget { final selectedClassroom = createOnce<ValueNotifier<Classroom?>>(() { if (_isEditing) { - final editingLesson = - timetableManager.scheduledLessons.value - .where((lesson) => lesson.id == editingLessonId) - .firstOrNull; + final editingLesson = timetableManager.scheduledLessons.value + .where((lesson) => lesson.id == editingLessonId) + .firstOrNull; if (editingLesson != null) { return ValueNotifier<Classroom?>( timetableManager.getClassroomById(editingLesson.roomId), @@ -93,10 +90,9 @@ class NewScheduledLessonPage extends WatchingWidget { final selectedLessonGroup = createOnce<ValueNotifier<LessonGroup?>>(() { if (_isEditing) { - final editingLesson = - timetableManager.scheduledLessons.value - .where((lesson) => lesson.id == editingLessonId) - .firstOrNull; + final editingLesson = timetableManager.scheduledLessons.value + .where((lesson) => lesson.id == editingLessonId) + .firstOrNull; if (editingLesson != null) { return ValueNotifier<LessonGroup?>( timetableManager.getLessonGroupById(editingLesson.lessonGroupId), @@ -119,10 +115,9 @@ class NewScheduledLessonPage extends WatchingWidget { // Initialize lesson ID controller if editing if (_isEditing) { - final editingLesson = - timetableManager.scheduledLessons.value - .where((lesson) => lesson.id == editingLessonId) - .firstOrNull; + final editingLesson = timetableManager.scheduledLessons.value + .where((lesson) => lesson.id == editingLessonId) + .firstOrNull; if (editingLesson != null) { lessonIdController.text = editingLesson.lessonId; } @@ -196,14 +191,10 @@ class NewScheduledLessonPage extends WatchingWidget { selectedClassroom.value = null; } }, - hasLessonGroupConflict: - (group) => - _hasLessonGroupConflict(group, selectedSlotValue), - hasClassroomConflict: - (classroom) => _hasClassroomConflict( - classroom, - selectedSlotValue, - ), + hasLessonGroupConflict: (group) => + _hasLessonGroupConflict(group, selectedSlotValue), + hasClassroomConflict: (classroom) => + _hasClassroomConflict(classroom, selectedSlotValue), ), const Gap(20), @@ -213,11 +204,8 @@ class NewScheduledLessonPage extends WatchingWidget { onClassroomChanged: (classroom) { selectedClassroom.value = classroom; }, - hasClassroomConflict: - (classroom) => _hasClassroomConflict( - classroom, - selectedSlotValue, - ), + hasClassroomConflict: (classroom) => + _hasClassroomConflict(classroom, selectedSlotValue), ), const Gap(20), @@ -227,9 +215,8 @@ class NewScheduledLessonPage extends WatchingWidget { onLessonGroupChanged: (group) { selectedLessonGroup.value = group; }, - hasLessonGroupConflict: - (group) => - _hasLessonGroupConflict(group, selectedSlotValue), + hasLessonGroupConflict: (group) => + _hasLessonGroupConflict(group, selectedSlotValue), ), const Gap(20), @@ -272,15 +259,14 @@ class NewScheduledLessonPage extends WatchingWidget { return; } - final now = DateTime.now().toUtcForServer(); + final now = DateTime.now().formatToUtcForServer(); if (_isEditing) { - final editingLesson = - timetableManager.scheduledLessons.value - .where( - (lesson) => lesson.id == editingLessonId, - ) - .firstOrNull; + final editingLesson = timetableManager + .scheduledLessons + .value + .where((lesson) => lesson.id == editingLessonId) + .firstOrNull; if (editingLesson != null) { // Update existing lesson @@ -336,9 +322,8 @@ class NewScheduledLessonPage extends WatchingWidget { lessonGroup: selectedLessonGroupValue, timetableSlotOrder: nextAvailableOrder, mainTeacherId: selectedTeachersValue.first.id!, - createdBy: - di<HubSessionManager>() - .userName!, // TODO: Get actual user + createdBy: di<HubSessionManager>() + .userName!, // TODO: Get actual user createdAt: now, ); @@ -357,66 +342,61 @@ class NewScheduledLessonPage extends WatchingWidget { Navigator.of(context).pop(); }, onCancel: () => Navigator.of(context).pop(), - onDelete: - _isEditing - ? () { - final editingLesson = - timetableManager.scheduledLessons.value - .where( - (lesson) => - lesson.id == editingLessonId, - ) - .firstOrNull; - - if (editingLesson?.id == null) return; - - showDialog( - context: context, - builder: - (context) => AlertDialog( - title: const Text('Stunde löschen'), - content: const Text( - 'Sind Sie sicher, dass Sie diese Stunde löschen möchten?', - ), - actions: [ - TextButton( - onPressed: - () => - Navigator.of(context).pop(), - child: const Text('Abbrechen'), - ), - TextButton( - onPressed: () { - timetableManager - .removeScheduledLesson( - editingLesson!.id!, - ); - Navigator.of( - context, - ).pop(); // Close dialog - Navigator.of( - context, - ).pop(); // Close page - - ScaffoldMessenger.of( - context, - ).showSnackBar( - const SnackBar( - content: Text( - 'Stunde erfolgreich gelöscht', - ), - backgroundColor: - Colors.orange, - ), - ); - }, - child: const Text('Löschen'), + onDelete: _isEditing + ? () { + final editingLesson = timetableManager + .scheduledLessons + .value + .where( + (lesson) => lesson.id == editingLessonId, + ) + .firstOrNull; + + if (editingLesson?.id == null) return; + + showDialog( + context: context, + builder: (context) => AlertDialog( + title: const Text('Stunde löschen'), + content: const Text( + 'Sind Sie sicher, dass Sie diese Stunde löschen möchten?', + ), + actions: [ + TextButton( + onPressed: () => + Navigator.of(context).pop(), + child: const Text('Abbrechen'), + ), + TextButton( + onPressed: () { + timetableManager.removeScheduledLesson( + editingLesson!.id!, + ); + Navigator.of( + context, + ).pop(); // Close dialog + Navigator.of( + context, + ).pop(); // Close page + + ScaffoldMessenger.of( + context, + ).showSnackBar( + const SnackBar( + content: Text( + 'Stunde erfolgreich gelöscht', + ), + backgroundColor: Colors.orange, ), - ], - ), - ); - } - : null, + ); + }, + child: const Text('Löschen'), + ), + ], + ), + ); + } + : null, ), ], ), diff --git a/school_data_hub_flutter/lib/features/timetable/presentation/new_timetable_page/new_timetable_page.dart b/school_data_hub_flutter/lib/features/timetable/presentation/new_timetable_page/new_timetable_page.dart index 26e2e122..09515cfc 100644 --- a/school_data_hub_flutter/lib/features/timetable/presentation/new_timetable_page/new_timetable_page.dart +++ b/school_data_hub_flutter/lib/features/timetable/presentation/new_timetable_page/new_timetable_page.dart @@ -2,7 +2,7 @@ import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; import 'package:school_data_hub_flutter/core/session/hub_session_manager.dart'; @@ -52,7 +52,7 @@ class NewTimetablePage extends WatchingWidget { final startDateController = createOnce<TextEditingController>(() { final controller = TextEditingController(); if (_isEditing && timetable != null) { - controller.text = timetable!.startsAt.formatForUser(); + controller.text = timetable!.startsAt.formatDateForUser(); } return controller; }); @@ -60,7 +60,7 @@ class NewTimetablePage extends WatchingWidget { final endDateController = createOnce<TextEditingController>(() { final controller = TextEditingController(); if (_isEditing && timetable != null && timetable!.endsAt != null) { - controller.text = timetable!.endsAt!.formatForUser(); + controller.text = timetable!.endsAt!.formatDateForUser(); } return controller; }); @@ -214,16 +214,16 @@ class NewTimetablePage extends WatchingWidget { final newTimetable = Timetable( id: _isEditing ? timetable!.id : null, active: _isEditing ? timetable!.active : true, - startsAt: startDate.toUtcForServer(), - endsAt: endDate?.toUtcForServer(), + startsAt: startDate.formatToUtcForServer(), + endsAt: endDate?.formatToUtcForServer(), name: name, schoolSemesterId: selectedSemester.value!.id!, - createdBy: - _isEditing ? timetable!.createdBy : userName, - createdAt: - _isEditing - ? timetable!.createdAt - : DateTime.now().toUtcForServer(), + createdBy: _isEditing + ? timetable!.createdBy + : userName, + createdAt: _isEditing + ? timetable!.createdAt + : DateTime.now().formatToUtcForServer(), ); if (_isEditing) { diff --git a/school_data_hub_flutter/lib/features/timetable/presentation/new_timetable_page/widgets/end_date_field.dart b/school_data_hub_flutter/lib/features/timetable/presentation/new_timetable_page/widgets/end_date_field.dart index 74cc46fb..4f582daf 100644 --- a/school_data_hub_flutter/lib/features/timetable/presentation/new_timetable_page/widgets/end_date_field.dart +++ b/school_data_hub_flutter/lib/features/timetable/presentation/new_timetable_page/widgets/end_date_field.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/features/school_calendar/domain/school_calendar_manager.dart'; import 'package:watch_it/watch_it.dart'; @@ -35,7 +35,7 @@ class EndDateField extends StatelessWidget { ); if (pickedDate != null) { selectedDate.value = pickedDate; - controller.text = pickedDate.formatForUser(); + controller.text = pickedDate.formatDateForUser(); } }, child: Container( @@ -53,10 +53,9 @@ class EndDateField extends StatelessWidget { ? controller.text : 'Bitte auswählen', style: TextStyle( - color: - controller.text.isNotEmpty - ? Colors.black - : Colors.grey.shade600, + color: controller.text.isNotEmpty + ? Colors.black + : Colors.grey.shade600, fontSize: 16, ), ), diff --git a/school_data_hub_flutter/lib/features/timetable/presentation/new_timetable_page/widgets/start_date_field.dart b/school_data_hub_flutter/lib/features/timetable/presentation/new_timetable_page/widgets/start_date_field.dart index 28ced52d..fa60545f 100644 --- a/school_data_hub_flutter/lib/features/timetable/presentation/new_timetable_page/widgets/start_date_field.dart +++ b/school_data_hub_flutter/lib/features/timetable/presentation/new_timetable_page/widgets/start_date_field.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/features/school_calendar/domain/school_calendar_manager.dart'; import 'package:watch_it/watch_it.dart'; @@ -35,7 +35,7 @@ class StartDateField extends StatelessWidget { ); if (pickedDate != null) { selectedDate.value = pickedDate; - controller.text = pickedDate.formatForUser(); + controller.text = pickedDate.formatDateForUser(); } }, child: Container( @@ -53,10 +53,9 @@ class StartDateField extends StatelessWidget { ? controller.text : 'Bitte auswählen', style: TextStyle( - color: - controller.text.isNotEmpty - ? Colors.black - : Colors.grey.shade600, + color: controller.text.isNotEmpty + ? Colors.black + : Colors.grey.shade600, fontSize: 16, ), ), diff --git a/school_data_hub_flutter/lib/features/user/domain/user_manager.dart b/school_data_hub_flutter/lib/features/user/domain/user_manager.dart index da808dac..defe82f4 100644 --- a/school_data_hub_flutter/lib/features/user/domain/user_manager.dart +++ b/school_data_hub_flutter/lib/features/user/domain/user_manager.dart @@ -45,11 +45,10 @@ class UserManager { required String fullName, required String password, required String email, - + required String matrixUserId, required int timeUnits, required int reliefTimeUnits, required int credit, - required String contact, required List<String> scopeNames, required Role role, required bool isTester, @@ -60,6 +59,7 @@ class UserManager { userName: userName, fullName: fullName, email: email, + matrixUserId: matrixUserId, password: password, role: role, timeUnits: timeUnits, @@ -147,8 +147,9 @@ class UserManager { } void removeUser(User user) { - _users.value = - _users.value.where((element) => element.id != user.id).toList(); + _users.value = _users.value + .where((element) => element.id != user.id) + .toList(); } // void updateUser(User user) { @@ -162,8 +163,9 @@ class UserManager { } void removeUsers(List<User> users) { - _users.value = - _users.value.where((element) => !users.contains(element)).toList(); + _users.value = _users.value + .where((element) => !users.contains(element)) + .toList(); } void addUsers(List<User> users) { diff --git a/school_data_hub_flutter/lib/features/user/presentation/create_user/create_user_page.dart b/school_data_hub_flutter/lib/features/user/presentation/create_user/create_user_page.dart index 11c57004..c1944c3b 100644 --- a/school_data_hub_flutter/lib/features/user/presentation/create_user/create_user_page.dart +++ b/school_data_hub_flutter/lib/features/user/presentation/create_user/create_user_page.dart @@ -6,6 +6,7 @@ import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/information_dialog.dart'; import 'package:school_data_hub_flutter/features/user/domain/user_manager.dart'; +import 'package:school_data_hub_flutter/features/user/presentation/create_user/widgets/scope_names_selector.dart'; import 'package:school_data_hub_flutter/features/user/presentation/widgets/roles_dropdown.dart'; import 'package:watch_it/watch_it.dart'; @@ -28,12 +29,18 @@ class CreateUserPage extends WatchingWidget { final TextEditingController repeatPasswordController = createOnce( () => TextEditingController(), ); - final TextEditingController contactController = createOnce( + final TextEditingController emailController = createOnce( + () => TextEditingController(), + ); + final TextEditingController matrixIdController = createOnce( () => TextEditingController(), ); final setAsAdmin = createOnce(() => ValueNotifier<bool>(false)); final setAsTester = createOnce(() => ValueNotifier<bool>(false)); final role = createOnce(() => ValueNotifier<Role>(Role.notAssigned)); + final scopeNames = createOnce(() => ValueNotifier<List<String>>([])); + final watchedScopeNames = watch(scopeNames).value; + void changeRole(Role? newRole) { role.value = newRole!; } @@ -72,270 +79,306 @@ class CreateUserPage extends WatchingWidget { child: Center( child: ConstrainedBox( constraints: const BoxConstraints(maxWidth: 800), - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: <Widget>[ - Row( - children: [ - const Text( - 'Name:', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: <Widget>[ + Row( + children: [ + const Text( + 'Name:', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), ), - ), - const Gap(5), - Expanded( - child: TextField( - minLines: 1, - maxLines: 1, - controller: fullNameController, - decoration: AppStyles.textFieldDecoration( - labelText: 'Name', + const Gap(5), + Expanded( + child: TextField( + minLines: 1, + maxLines: 1, + controller: fullNameController, + decoration: AppStyles.textFieldDecoration( + labelText: 'Name', + ), ), ), - ), - ], - ), - const Gap(20), - Row( - crossAxisAlignment: CrossAxisAlignment.center, // Add this - children: <Widget>[ - const Text( - 'Kürzel', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, + ], + ), + const Gap(20), + Row( + crossAxisAlignment: CrossAxisAlignment.center, // Add this + children: <Widget>[ + const Text( + 'Kürzel', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), ), - ), - const Gap(5), - SizedBox( - width: 70, - child: TextField( - minLines: 1, - maxLines: 1, - controller: userNameController, - inputFormatters: [LengthLimitingTextInputFormatter(3)], - decoration: AppStyles.textFieldDecoration( - labelText: 'Kürzel', + const Gap(5), + SizedBox( + width: 70, + child: TextField( + minLines: 1, + maxLines: 1, + controller: userNameController, + inputFormatters: [ + LengthLimitingTextInputFormatter(3), + ], + decoration: AppStyles.textFieldDecoration( + labelText: 'Kürzel', + ), ), ), - ), - const Gap(15), - const Text( - 'Ist Admin:', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, + const Gap(15), + const Text( + 'Ist Admin:', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), ), - ), - Checkbox( - value: watchedSetAsAdmin, - onChanged: (bool? newValue) { - setAsAdmin.value = newValue ?? false; - }, - ), - const Text( - 'Ist Tester*in:', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, + Checkbox( + value: watchedSetAsAdmin, + onChanged: (bool? newValue) { + setAsAdmin.value = newValue ?? false; + }, ), - ), - Checkbox( - value: watchedSetAsTester, - onChanged: (bool? newValue) { - setAsTester.value = newValue ?? false; - }, - ), - const Gap(5), - ], - ), - const Gap(20), - Row( - children: [ - const Text( - 'Passwort:', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, + const Text( + 'Ist Tester*in:', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), ), - ), - const Gap(5), - Expanded( - child: TextField( - minLines: 1, - maxLines: 1, - controller: passwordController, - decoration: AppStyles.textFieldDecoration( - labelText: 'Passwort', + Checkbox( + value: watchedSetAsTester, + onChanged: (bool? newValue) { + setAsTester.value = newValue ?? false; + }, + ), + const Gap(5), + ], + ), + const Gap(20), + Row( + children: [ + const Text( + 'Passwort:', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, ), ), - ), - ], - ), - const Gap(20), - Row( - children: [ - const Text( - 'Passwort wiederholen:', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, + const Gap(5), + Expanded( + child: TextField( + minLines: 1, + maxLines: 1, + controller: passwordController, + decoration: AppStyles.textFieldDecoration( + labelText: 'Passwort', + ), + ), ), - ), - const Gap(5), - Expanded( - child: TextField( - minLines: 1, - maxLines: 1, - controller: repeatPasswordController, - decoration: AppStyles.textFieldDecoration( - labelText: 'Passwort wiederholen', + ], + ), + const Gap(20), + Row( + children: [ + const Text( + 'Passwort wiederholen:', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, ), ), - ), - ], - ), - Row( - children: [ - RolesDropdown( - selectedRole: watchedRole, - changeRole: changeRole, - ), - ], - ), - const Gap(20), - Row( - children: [ - const Text( - 'Kontakt:', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, + const Gap(5), + Expanded( + child: TextField( + minLines: 1, + maxLines: 1, + controller: repeatPasswordController, + decoration: AppStyles.textFieldDecoration( + labelText: 'Passwort wiederholen', + ), + ), ), - ), - const Gap(5), - Expanded( - child: TextField( - minLines: 1, - maxLines: 1, - controller: contactController, - decoration: AppStyles.textFieldDecoration( - labelText: 'Kontakt', + ], + ), + Row( + children: [ + RolesDropdown( + selectedRole: watchedRole, + changeRole: changeRole, + ), + ], + ), + const Gap(20), + ScopeNamesSelector(scopeNames: scopeNames), + const Gap(20), + + Row( + children: [ + const Text( + 'Matrix-ID:', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, ), ), - ), - ], - ), - const Gap(20), - Row( - children: [ - const Text( - 'Guthaben:', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, + const Gap(5), + Expanded( + child: TextField( + minLines: 1, + maxLines: 1, + controller: matrixIdController, + decoration: AppStyles.textFieldDecoration( + labelText: 'Matrix-ID', + ), + ), ), - ), - const Gap(5), - Expanded( - child: TextField( - minLines: 1, - maxLines: 1, - controller: creditController, - decoration: AppStyles.textFieldDecoration( - labelText: 'Guthaben', + ], + ), + const Gap(20), + + Row( + children: [ + const Text( + 'E-Mail:', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, ), ), - ), - const Gap(15), - const Text( - 'Stunden:', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, + const Gap(5), + Expanded( + child: TextField( + minLines: 1, + maxLines: 1, + controller: emailController, + decoration: AppStyles.textFieldDecoration( + labelText: 'E-Mail', + ), + ), ), - ), - const Gap(5), - Expanded( - child: TextField( - minLines: 1, - maxLines: 1, - controller: timeUnitsController, - decoration: AppStyles.textFieldDecoration( - labelText: 'Stunden', + ], + ), + const Gap(20), + Row( + children: [ + const Text( + 'Guthaben:', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, ), ), - ), - const Text( - 'EntlastungsStunden:', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, + const Gap(5), + Expanded( + child: TextField( + minLines: 1, + maxLines: 1, + controller: creditController, + decoration: AppStyles.textFieldDecoration( + labelText: 'Guthaben', + ), + ), ), - ), - const Gap(5), - Expanded( - child: TextField( - minLines: 1, - maxLines: 1, - controller: reliefTimeUnitsController, - decoration: AppStyles.textFieldDecoration( - labelText: 'EntlastungsStunden', + const Gap(15), + const Text( + 'Stunden:', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, ), ), - ), - ], - ), - const Spacer(), - const Gap(15), - ElevatedButton( - style: AppStyles.successButtonStyle, - onPressed: () async { - if (passwordController.text != - repeatPasswordController.text) { - informationDialog( - context, - 'Passwörter stimmen nicht überein', - 'Bitte Passwort überprüfen', - ); - return; - } + const Gap(5), + Expanded( + child: TextField( + minLines: 1, + maxLines: 1, + controller: timeUnitsController, + decoration: AppStyles.textFieldDecoration( + labelText: 'Stunden', + ), + ), + ), + const Text( + 'EntlastungsStunden:', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + const Gap(5), + Expanded( + child: TextField( + minLines: 1, + maxLines: 1, + controller: reliefTimeUnitsController, + decoration: AppStyles.textFieldDecoration( + labelText: 'EntlastungsStunden', + ), + ), + ), + ], + ), + const Gap(20), + ElevatedButton( + style: AppStyles.successButtonStyle, + onPressed: () async { + if (passwordController.text != + repeatPasswordController.text) { + informationDialog( + context, + 'Passwörter stimmen nicht überein', + 'Bitte Passwort überprüfen', + ); + return; + } - await _userManager.createUser( - userName: userNameController.text, - fullName: fullNameController.text, - email: contactController.text, - password: passwordController.text, - role: watchedSetAsAdmin ? Role.admin : watchedRole, - timeUnits: int.tryParse(timeUnitsController.text) ?? 0, - reliefTimeUnits: - int.tryParse(reliefTimeUnitsController.text) ?? 0, - credit: int.tryParse(creditController.text) ?? 0, - contact: contactController.text, - isTester: setAsTester.value, - scopeNames: watchedSetAsAdmin ? ['admin'] : ['standard'], - ); + await _userManager.createUser( + userName: userNameController.text, + fullName: fullNameController.text, + matrixUserId: matrixIdController.text, + email: emailController.text, + password: passwordController.text, + role: watchedSetAsAdmin ? Role.admin : watchedRole, + timeUnits: int.tryParse(timeUnitsController.text) ?? 0, + reliefTimeUnits: + int.tryParse(reliefTimeUnitsController.text) ?? 0, + credit: int.tryParse(creditController.text) ?? 0, + + isTester: setAsTester.value, + scopeNames: watchedScopeNames.isNotEmpty + ? watchedScopeNames + : (watchedSetAsAdmin ? ['admin'] : ['standard']), + ); - if (context.mounted) { + if (context.mounted) { + Navigator.pop(context); + } + }, + child: const Text( + 'SENDEN', + style: AppStyles.buttonTextStyle, + ), + ), + const Gap(15), + ElevatedButton( + style: AppStyles.cancelButtonStyle, + onPressed: () { Navigator.pop(context); - } - }, - child: const Text('SENDEN', style: AppStyles.buttonTextStyle), - ), - const Gap(15), - ElevatedButton( - style: AppStyles.cancelButtonStyle, - onPressed: () { - Navigator.pop(context); - }, - child: const Text( - 'ABBRECHEN', - style: AppStyles.buttonTextStyle, + }, + child: const Text( + 'ABBRECHEN', + style: AppStyles.buttonTextStyle, + ), ), - ), - ], + ], + ), ), ), ), diff --git a/school_data_hub_flutter/lib/features/user/presentation/create_user/widgets/scope_names_selector.dart b/school_data_hub_flutter/lib/features/user/presentation/create_user/widgets/scope_names_selector.dart new file mode 100644 index 00000000..518afe9e --- /dev/null +++ b/school_data_hub_flutter/lib/features/user/presentation/create_user/widgets/scope_names_selector.dart @@ -0,0 +1,128 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/theme/styles.dart'; +import 'package:watch_it/watch_it.dart'; + +class ScopeNamesSelector extends WatchingWidget { + final ValueNotifier<List<String>> scopeNames; + + const ScopeNamesSelector({super.key, required this.scopeNames}); + + @override + Widget build(BuildContext context) { + final watchedScopeNames = watch(scopeNames).value; + final TextEditingController newScopeNameController = createOnce( + () => TextEditingController(), + ); + + void addScopeName() { + final newScopeName = + 'SchooldayEventsManagement.${newScopeNameController.text.trim()}'; + if (newScopeName.isNotEmpty && + !watchedScopeNames.contains(newScopeName)) { + scopeNames.value = [...watchedScopeNames, newScopeName]; + newScopeNameController.clear(); + } + } + + void removeScopeName(String scopeName) { + scopeNames.value = watchedScopeNames + .where((element) => element != scopeName) + .toList(); + } + + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Scope Names:', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + const Gap(5), + Row( + children: [ + Expanded( + child: TextField( + minLines: 1, + maxLines: 1, + controller: newScopeNameController, + decoration: AppStyles.textFieldDecoration( + labelText: 'Neue Scope Name hinzufügen', + ), + onSubmitted: (_) => addScopeName(), + ), + ), + const Gap(10), + ElevatedButton( + style: AppStyles.actionButtonStyle.copyWith( + minimumSize: WidgetStateProperty.all(const Size(0, 50)), + ), + onPressed: addScopeName, + child: const Text('HINZUFÜGEN', style: AppStyles.buttonTextStyle), + ), + ], + ), + if (watchedScopeNames.isNotEmpty) ...[ + const Gap(10), + Container( + constraints: const BoxConstraints(maxHeight: 200), + decoration: BoxDecoration( + border: Border.all(color: Colors.grey, width: 1), + borderRadius: BorderRadius.circular(4), + ), + child: ListView.builder( + shrinkWrap: true, + padding: const EdgeInsets.all(8), + itemCount: watchedScopeNames.length, + itemBuilder: (context, index) { + final scopeName = watchedScopeNames[index]; + return Padding( + padding: const EdgeInsets.symmetric(vertical: 4), + child: Row( + children: [ + Expanded( + child: Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 8, + ), + decoration: BoxDecoration( + color: Colors.grey[200], + borderRadius: BorderRadius.circular(4), + ), + child: Text( + scopeName, + style: const TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + ), + ), + ), + ), + const Gap(8), + InkWell( + onTap: () => removeScopeName(scopeName), + child: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.red[100], + borderRadius: BorderRadius.circular(4), + ), + child: const Icon( + Icons.close, + size: 18, + color: Colors.red, + ), + ), + ), + ], + ), + ); + }, + ), + ), + ], + ], + ); + } +} diff --git a/school_data_hub_flutter/lib/features/user/presentation/user_list/widgets/user_list_card.dart b/school_data_hub_flutter/lib/features/user/presentation/user_list/widgets/user_list_card.dart index bc0312fe..ac8fa469 100644 --- a/school_data_hub_flutter/lib/features/user/presentation/user_list/widgets/user_list_card.dart +++ b/school_data_hub_flutter/lib/features/user/presentation/user_list/widgets/user_list_card.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/custom_expansion_tile/custom_expansion_tile.dart'; import 'package:school_data_hub_flutter/common/widgets/custom_expansion_tile/custom_expansion_tile_content.dart'; @@ -207,7 +207,7 @@ class UserListCard extends WatchingWidget { Text('User Info ID: ${user.userInfoId}'), const Gap(5), Text( - 'Erstellt: ${user.userInfo?.created != null ? user.userInfo!.created.formatForUser() : 'N/A'}', + 'Erstellt: ${user.userInfo?.created != null ? user.userInfo!.created.formatDateForUser() : 'N/A'}', ), const Gap(5), Text( diff --git a/school_data_hub_flutter/lib/features/workbooks/presentation/workbook_list_page/widgets/pupil_workbook_card.dart b/school_data_hub_flutter/lib/features/workbooks/presentation/workbook_list_page/widgets/pupil_workbook_card.dart index cdaecc46..c4d63ed8 100644 --- a/school_data_hub_flutter/lib/features/workbooks/presentation/workbook_list_page/widgets/pupil_workbook_card.dart +++ b/school_data_hub_flutter/lib/features/workbooks/presentation/workbook_list_page/widgets/pupil_workbook_card.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/widgets/dialogs/confirmation_dialog.dart'; @@ -20,266 +20,302 @@ import 'package:school_data_hub_flutter/features/workbooks/domain/workbook_manag import 'package:watch_it/watch_it.dart'; class PupilWorkbookCard extends WatchingWidget { - const PupilWorkbookCard( - {required this.pupilWorkbook, required this.pupilId, super.key}); + const PupilWorkbookCard({ + required this.pupilWorkbook, + required this.pupilId, + super.key, + }); final PupilWorkbook pupilWorkbook; final int pupilId; void onChangedGrowthDropdown(int value) { - di<PupilWorkbookManager>() - .updatePupilWorkbook(pupilWorkbook: pupilWorkbook, score: value); + di<PupilWorkbookManager>().updatePupilWorkbook( + pupilWorkbook: pupilWorkbook, + score: value, + ); } @override Widget build(BuildContext context) { - final Workbook workbook = - di<WorkbookManager>().getWorkbookByIsbn(pupilWorkbook.workbook!.isbn)!; + final Workbook workbook = di<WorkbookManager>().getWorkbookByIsbn( + pupilWorkbook.workbook!.isbn, + )!; return ClipRRect( borderRadius: BorderRadius.circular(20), child: Card( - child: InkWell( - onLongPress: () async { - if (pupilWorkbook.createdBy != di<HubSessionManager>().userName || - !di<HubSessionManager>().isAdmin) { - informationDialog(context, 'Keine Berechtigung', - 'Arbeitshefte können nur von der eintragenden Person bearbeitet werden!'); - return; - } - final bool? result = await confirmationDialog( + child: InkWell( + onLongPress: () async { + if (pupilWorkbook.createdBy != di<HubSessionManager>().userName || + !di<HubSessionManager>().isAdmin) { + informationDialog( + context, + 'Keine Berechtigung', + 'Arbeitshefte können nur von der eintragenden Person bearbeitet werden!', + ); + return; + } + final bool? result = await confirmationDialog( context: context, title: 'Arbeitsheft löschen', - message: 'Arbeitsheft "${workbook.name}" wirklich löschen?'); - if (result == true) { - di<PupilWorkbookManager>() - .deletePupilWorkbook(pupilId, workbook.isbn); - } - }, - child: Padding( - padding: const EdgeInsets.all(8), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Gap(5), - Column( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - InkWell( - onTap: () async { - final File? file = await createImageFile(context); - if (file == null) return; - // TODO: Uncomment when API is ready - di<NotificationService>().showSnackBar( - NotificationType.warning, 'Not implemented yet'); - // await di<WorkbookManager>() - // .postWorkbookFile(file, workbook.isbn); - }, - onLongPress: (workbook.imageUrl == null) - ? () {} - : () async { - if (workbook.imageUrl == null) { - return; - } - final bool? result = await confirmationDialog( + message: 'Arbeitsheft "${workbook.name}" wirklich löschen?', + ); + if (result == true) { + di<PupilWorkbookManager>().deletePupilWorkbook( + pupilId, + workbook.isbn, + ); + } + }, + child: Padding( + padding: const EdgeInsets.all(8), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(5), + Column( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + InkWell( + onTap: () async { + final File? file = await createImageFile(context); + if (file == null) return; + // TODO: Uncomment when API is ready + di<NotificationService>().showSnackBar( + NotificationType.warning, + 'Not implemented yet', + ); + // await di<WorkbookManager>() + // .postWorkbookFile(file, workbook.isbn); + }, + onLongPress: (workbook.imageUrl == null) + ? () {} + : () async { + if (workbook.imageUrl == null) { + return; + } + final bool? result = await confirmationDialog( context: context, title: 'Bild löschen', - message: 'Bild löschen?'); - if (result != true) return; - // TODO: Uncomment when API is ready - di<NotificationService>().showSnackBar( + message: 'Bild löschen?', + ); + if (result != true) return; + // TODO: Uncomment when API is ready + di<NotificationService>().showSnackBar( NotificationType.warning, - 'Not implemented yet'); - // await di<WorkbookManager>() - // .deleteAuthorizationFile( - // pupil.internalId, - // authorizationId, - // pupilAuthorization.fileId!, - // ); - }, - child: - // workbook.imageUrl != null - // ? Provider<DocumentImageData>.value( - // updateShouldNotify: (oldValue, newValue) => - // oldValue.documentUrl != - // newValue.documentUrl, - // value: DocumentImageData( - // documentTag: workbook.imageUrl!, - // documentUrl: - // '${di<EnvManager>().env!.serverUrl}${WorkbookApiService().getWorkbookImage(workbook.isbn)}', - // size: 100), - // child: const DocumentImage(), - // ) - // : - SizedBox( - height: 100, - child: ClipRRect( - borderRadius: BorderRadius.circular(5), - child: Image.asset('assets/document_camera.png'), - ), + 'Not implemented yet', + ); + // await di<WorkbookManager>() + // .deleteAuthorizationFile( + // pupil.internalId, + // authorizationId, + // pupilAuthorization.fileId!, + // ); + }, + child: + // workbook.imageUrl != null + // ? Provider<DocumentImageData>.value( + // updateShouldNotify: (oldValue, newValue) => + // oldValue.documentUrl != + // newValue.documentUrl, + // value: DocumentImageData( + // documentTag: workbook.imageUrl!, + // documentUrl: + // '${di<EnvManager>().env!.serverUrl}${WorkbookApiService().getWorkbookImage(workbook.isbn)}', + // size: 100), + // child: const DocumentImage(), + // ) + // : + SizedBox( + height: 100, + child: ClipRRect( + borderRadius: BorderRadius.circular(5), + child: Image.asset( + 'assets/document_camera.png', + ), + ), + ), ), - ), - const Gap(10), - ], - ), - Expanded( - child: Padding( - padding: const EdgeInsets.only(left: 10, bottom: 8), - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Expanded( - child: SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: Text( - workbook.name, - style: const TextStyle( + const Gap(10), + ], + ), + Expanded( + child: Padding( + padding: const EdgeInsets.only(left: 10, bottom: 8), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Expanded( + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Text( + workbook.name, + style: const TextStyle( fontSize: 20, - fontWeight: FontWeight.bold), + fontWeight: FontWeight.bold, + ), + ), ), ), - ), - const Gap(10), - ], - ), - const Gap(5), - // Row( - // children: [ - // const Text('ISBN:'), - // const Gap(10), - // Text( - // workbook.isbn.toString(), - // style: const TextStyle( - // fontSize: 16, - // fontWeight: FontWeight.bold, - // color: Colors.black, - // ), - // ), - // ], - // ), - // const Gap(5), - Row(children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, + const Gap(10), + ], + ), + const Gap(5), + // Row( + // children: [ + // const Text('ISBN:'), + // const Gap(10), + // Text( + // workbook.isbn.toString(), + // style: const TextStyle( + // fontSize: 16, + // fontWeight: FontWeight.bold, + // color: Colors.black, + // ), + // ), + // ], + // ), + // const Gap(5), + Row( children: [ - Row( + Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text( - RootCompetenceType - .stringToValue[workbook.subject]! - .value, - overflow: TextOverflow.fade, - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - )), + Row( + children: [ + Text( + RootCompetenceType + .stringToValue[workbook.subject]! + .value, + overflow: TextOverflow.fade, + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + const Gap(5), + workbook.level != null + ? GradesWidget( + stringWithGrades: + workbook.level!, + ) + : const Text('nicht vorhanden'), + ], + ), const Gap(5), - workbook.level != null - ? GradesWidget( - stringWithGrades: workbook.level!) - : const Text( - 'nicht vorhanden', + Row( + children: [ + InkWell( + onTap: () async { + if (!(di<HubSessionManager>() + .userName == + pupilWorkbook.createdBy) || + di<HubSessionManager>() + .isAdmin) { + informationDialog( + context, + 'Keine Berechtigung', + 'Arbeitshefte können nur von der eingetragenen Person oder von einem Admin bearbeitet werden!', + ); + return; + } + final createdBy = + await shortTextfieldDialog( + context: context, + title: 'Betreuer:in ändern', + labelText: + 'Betreuer:in eintragen', + hintText: + 'Wer soll das Arbeitsheft betreuen?', + ); + if (createdBy == null) return; + di<PupilWorkbookManager>() + .updatePupilWorkbook( + pupilWorkbook: pupilWorkbook, + createdBy: createdBy, + ); + }, + child: Text( + pupilWorkbook.createdBy, + style: const TextStyle( + fontWeight: FontWeight.bold, + ), ), + ), + const Gap(2), + const Icon( + Icons.arrow_circle_right_rounded, + color: Colors.orange, + ), + const Gap(2), + Text( + pupilWorkbook.createdAt + .formatDateForUser(), + style: const TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ], + ), + const Gap(10), ], ), - const Gap(5), - Row( + const Spacer(), + Column( children: [ - InkWell( - onTap: () async { - if (!(di<HubSessionManager>() - .userName == - pupilWorkbook.createdBy) || - di<HubSessionManager>().isAdmin) { - informationDialog( - context, - 'Keine Berechtigung', - 'Arbeitshefte können nur von der eingetragenen Person oder von einem Admin bearbeitet werden!'); - return; - } - final createdBy = - await shortTextfieldDialog( - context: context, - title: 'Betreuer:in ändern', - labelText: - 'Betreuer:in eintragen', - hintText: - 'Wer soll das Arbeitsheft betreuen?'); - if (createdBy == null) return; - di<PupilWorkbookManager>() - .updatePupilWorkbook( - pupilWorkbook: pupilWorkbook, - createdBy: createdBy); - }, - child: Text( - pupilWorkbook.createdBy, - style: const TextStyle( - fontWeight: FontWeight.bold, - ), - ), - ), - const Gap(2), - const Icon( - Icons.arrow_circle_right_rounded, - color: Colors.orange, + GrowthDropdown( + dropdownValue: 0, + onChangedFunction: + onChangedGrowthDropdown, ), - const Gap(2), - Text( - pupilWorkbook.createdAt.formatForUser(), - style: const TextStyle( - fontWeight: FontWeight.bold, - ), - ) ], ), - const Gap(10), ], ), - const Spacer(), - Column( - children: [ - GrowthDropdown( - dropdownValue: 0, - onChangedFunction: onChangedGrowthDropdown), - ], - ) - ]) - ], + ], + ), ), ), - ), - ], - ), - const Gap(10), - const Text('Kommentar:'), - const Gap(5), - InkWell( - onTap: () async { - final comment = await longTextFieldDialog( + ], + ), + const Gap(10), + const Text('Kommentar:'), + const Gap(5), + InkWell( + onTap: () async { + final comment = await longTextFieldDialog( title: 'Kommentar', initialValue: pupilWorkbook.comment ?? '', labelText: 'Kommentar eintragen', - parentContext: context); - if (comment == null) return; - di<PupilWorkbookManager>().updatePupilWorkbook( - pupilWorkbook: pupilWorkbook, comment: (value: comment)); - }, - child: Text( - pupilWorkbook.comment == null || pupilWorkbook.comment! == '' - ? 'Kein Kommentar' - : pupilWorkbook.comment!, - style: const TextStyle( - fontSize: 16, color: AppColors.interactiveColor), + parentContext: context, + ); + if (comment == null) return; + di<PupilWorkbookManager>().updatePupilWorkbook( + pupilWorkbook: pupilWorkbook, + comment: (value: comment), + ); + }, + child: Text( + pupilWorkbook.comment == null || + pupilWorkbook.comment! == '' + ? 'Kein Kommentar' + : pupilWorkbook.comment!, + style: const TextStyle( + fontSize: 16, + color: AppColors.interactiveColor, + ), + ), ), - ), - ], + ], + ), ), ), - )), + ), ); } } diff --git a/school_data_hub_flutter/lib/features/workbooks/presentation/workbook_list_page/widgets/workbook_card.dart b/school_data_hub_flutter/lib/features/workbooks/presentation/workbook_list_page/widgets/workbook_card.dart index adc4606f..97879f61 100644 --- a/school_data_hub_flutter/lib/features/workbooks/presentation/workbook_list_page/widgets/workbook_card.dart +++ b/school_data_hub_flutter/lib/features/workbooks/presentation/workbook_list_page/widgets/workbook_card.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:school_data_hub_client/school_data_hub_client.dart'; -import 'package:school_data_hub_flutter/app_utils/extensions.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/isbn_extensions.dart'; import 'package:school_data_hub_flutter/common/services/notification_service.dart'; import 'package:school_data_hub_flutter/common/widgets/custom_expansion_tile/custom_expansion_tile.dart'; import 'package:school_data_hub_flutter/common/widgets/custom_expansion_tile/custom_expansion_tile_content.dart'; @@ -24,106 +24,116 @@ class WorkbookCard extends WatchingWidget { @override Widget build(BuildContext context) { final expansionTileController = createOnce<CustomExpansionTileController>( - () => CustomExpansionTileController()); + () => CustomExpansionTileController(), + ); return ClipRRect( borderRadius: BorderRadius.circular(20), child: Card( - color: Colors.white, - surfaceTintColor: Colors.white, - child: InkWell( - // onTap: () { - // Navigator.of(context).push(MaterialPageRoute( - // builder: (ctx) => SchoolListPupils( - // workbook, - // ), - // )); - // }, - onLongPress: () async { - // if (!di<SessionManager>().isAdmin.value) { - // informationDialog(context, 'Keine Berechtigung', - // 'Arbeitshefte können nur von Admins bearbeitet werden!'); - // return; - // } - final bool? result = await confirmationDialog( - context: context, - title: 'Arbeitsheft löschen', - message: - 'Arbeitsheft "${workbook.name}" wirklich löschen? ACHTUNG: Alle Arbeitshefte dieser Art werden ebenfalls gelöscht!'); - if (result == true) { - await di<WorkbookManager>().deleteWorkbook(workbook); - } - }, - child: Padding( - padding: const EdgeInsets.only(top: 8.0, bottom: 5), - child: Row( - children: [ - const Gap(15), - Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Gap(10), - InkWell( - onTap: () async { - final File? file = await createImageFile(context); - if (file == null) return; - // TODO: implement when ready - di<NotificationService>().showSnackBar( - NotificationType.warning, 'Not implemented yet'); - // await di<WorkbookManager>() - // .postWorkbookFile(file, workbook.isbn); - }, - onLongPress: (workbook.imageUrl == null) - ? () {} - : () async { - if (workbook.imageUrl == null) { - return; - } - final bool? result = await confirmationDialog( - context: context, - title: 'Bild löschen', - message: 'Bild löschen?'); - if (result != true) return; - // TODO: implement when ready - di<NotificationService>().showSnackBar( - NotificationType.warning, - 'Not implemented yet'); + color: Colors.white, + surfaceTintColor: Colors.white, + child: InkWell( + // onTap: () { + // Navigator.of(context).push(MaterialPageRoute( + // builder: (ctx) => SchoolListPupils( + // workbook, + // ), + // )); + // }, + onLongPress: () async { + // if (!di<SessionManager>().isAdmin.value) { + // informationDialog(context, 'Keine Berechtigung', + // 'Arbeitshefte können nur von Admins bearbeitet werden!'); + // return; + // } + final bool? result = await confirmationDialog( + context: context, + title: 'Arbeitsheft löschen', + message: + 'Arbeitsheft "${workbook.name}" wirklich löschen? ACHTUNG: Alle Arbeitshefte dieser Art werden ebenfalls gelöscht!', + ); + if (result == true) { + await di<WorkbookManager>().deleteWorkbook(workbook); + } + }, + child: Padding( + padding: const EdgeInsets.only(top: 8.0, bottom: 5), + child: Row( + children: [ + const Gap(15), + Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Gap(10), + InkWell( + onTap: () async { + final File? file = await createImageFile(context); + if (file == null) return; + // TODO: implement when ready + di<NotificationService>().showSnackBar( + NotificationType.warning, + 'Not implemented yet', + ); + // await di<WorkbookManager>() + // .postWorkbookFile(file, workbook.isbn); + }, + onLongPress: (workbook.imageUrl == null) + ? () {} + : () async { + if (workbook.imageUrl == null) { + return; + } + final bool? result = await confirmationDialog( + context: context, + title: 'Bild löschen', + message: 'Bild löschen?', + ); + if (result != true) return; + // TODO: implement when ready + di<NotificationService>().showSnackBar( + NotificationType.warning, + 'Not implemented yet', + ); - // await di<WorkbookManager>() - // .deleteWorkbookFile(workbook.isbn); - }, - child: workbook.imageUrl != null - ? UnencryptedImageInCard( - cacheKey: workbook.isbn.toString(), - path: workbook.imageUrl, - size: 75, - ) - : SizedBox( - height: 100, - child: ClipRRect( - borderRadius: BorderRadius.circular(5), - child: - Image.asset('assets/document_camera.png'), + // await di<WorkbookManager>() + // .deleteWorkbookFile(workbook.isbn); + }, + child: workbook.imageUrl != null + ? UnencryptedImageInCard( + cacheKey: workbook.isbn.toString(), + path: workbook.imageUrl, + size: 75, + ) + : SizedBox( + height: 100, + child: ClipRRect( + borderRadius: BorderRadius.circular(5), + child: Image.asset( + 'assets/document_camera.png', ), ), - ), - const Gap(10), - ], - ), - Expanded( - child: Padding( - padding: - const EdgeInsets.only(top: 8.0, left: 15, bottom: 8), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Expanded( - child: InkWell( - onLongPress: (di<HubSessionManager>().isAdmin) - ? () async { - Navigator.of(context) - .push(MaterialPageRoute( + ), + ), + const Gap(10), + ], + ), + Expanded( + child: Padding( + padding: const EdgeInsets.only( + top: 8.0, + left: 15, + bottom: 8, + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Expanded( + child: InkWell( + onLongPress: (di<HubSessionManager>().isAdmin) + ? () async { + Navigator.of(context).push( + MaterialPageRoute( builder: (ctx) => NewWorkbookPage( workbook: workbook, name: workbook.name, @@ -132,110 +142,117 @@ class WorkbookCard extends WatchingWidget { level: workbook.level, isEdit: true, ), - )); - } - : () {}, - child: SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: Text( - workbook.name, - style: const TextStyle( - fontSize: 20, - fontWeight: FontWeight.bold), + ), + ); + } + : () {}, + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Text( + workbook.name, + style: const TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, ), ), ), ), - const Gap(10), - ], - ), - const Gap(5), - Row( - children: [ - const Text('ISBN:'), - const Gap(10), - SelectableText( - workbook.isbn.displayAsIsbn(), - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: Colors.black, - ), + ), + const Gap(10), + ], + ), + const Gap(5), + Row( + children: [ + const Text('ISBN:'), + const Gap(10), + SelectableText( + workbook.isbn.displayAsIsbn(), + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.black, ), - ], - ), - const Gap(5), - Row( - children: [ - const Text('Kompetenzbereich(e):'), - const Gap(10), - Text( - workbook.subject ?? 'nicht angegeben', - overflow: TextOverflow.fade, - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: Colors.black, - ), + ), + ], + ), + const Gap(5), + Row( + children: [ + const Text('Kompetenzbereich(e):'), + const Gap(10), + Text( + workbook.subject ?? 'nicht angegeben', + overflow: TextOverflow.fade, + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.black, ), - ], - ), - const Gap(5), - Row( - children: [ - const Text('Kompetenzstufe:'), - const Gap(10), - workbook.level != null - ? GradesWidget( - stringWithGrades: workbook.level!) - : const Text( - 'nicht angegeben', - overflow: TextOverflow.fade, - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: Colors.black, - ), + ), + ], + ), + const Gap(5), + Row( + children: [ + const Text('Kompetenzstufe:'), + const Gap(10), + workbook.level != null + ? GradesWidget( + stringWithGrades: workbook.level!, + ) + : const Text( + 'nicht angegeben', + overflow: TextOverflow.fade, + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.black, ), - ], - ), - const Gap(5), - Row( - children: [ - const Text('Bestand:'), - const Gap(10), - Text( - workbook.amount.toString(), - overflow: TextOverflow.fade, - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: Colors.black, - ), + ), + ], + ), + const Gap(5), + Row( + children: [ + const Text('Bestand:'), + const Gap(10), + Text( + workbook.amount.toString(), + overflow: TextOverflow.fade, + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.black, + ), + ), + const Spacer(), + CustomExpansionTileSwitch( + expansionSwitchWidget: const Icon( + Icons.arrow_downward, ), - const Spacer(), - CustomExpansionTileSwitch( - expansionSwitchWidget: - const Icon(Icons.arrow_downward), - customExpansionTileController: - expansionTileController), - const Gap(5) - ], - ), - const Gap(10), - CustomExpansionTileContent( - tileController: expansionTileController, - widgetList: [ - // TODO: Add cards with pupilworkbooks - ]), - ], - ), + customExpansionTileController: + expansionTileController, + ), + const Gap(5), + ], + ), + const Gap(10), + CustomExpansionTileContent( + tileController: expansionTileController, + widgetList: [ + // TODO: Add cards with pupilworkbooks + ], + ), + ], ), ), - ], - ), + ), + ], ), - )), + ), + ), + ), ); } } diff --git a/school_data_hub_server/Makefile b/school_data_hub_server/Makefile index 7d5301ad..cfe13908 100644 --- a/school_data_hub_server/Makefile +++ b/school_data_hub_server/Makefile @@ -1,4 +1,4 @@ -generate: ## generate updated models and create migrations +migration: ## generate updated models and create migrations serverpod generate serverpod create-migration dart run bin/main.dart --role maintenance --apply-migrations @@ -8,6 +8,7 @@ docker: ## run docker container reset: ## reset the server + @powershell -NoProfile -Command "$$bold = [char]27 + '[1m'; $$reset = [char]27 + '[0m'; Write-Host \"$${bold}WARNING: This will reset the server and delete all data. Continue? (y/n)$${reset}\" -ForegroundColor Red -NoNewline; $$r = Read-Host; if ($$r -ne 'y' -and $$r -ne 'Y') { Write-Host 'Cancelled.' -ForegroundColor Yellow; exit 1 } else { Write-Host 'Resetting server...' -ForegroundColor Green }" cmd /c rmdir /Q /S migrations cmd /c mkdir migrations cmd /c rmdir /Q /S storage\private @@ -51,4 +52,8 @@ uml: ## generate UML diagram dart run uml_for_serverpod --config=uml_config.yaml install: ## serverpod vps branch - dart pub global activate -sgit https://github.com/dart-lang/http.git --git-ref dart pub global activate -sgit https://github.com/dabblingwithcode/serverpod_vps.git --git-ref 36f98e900347335af2338a0e087538009b7de2f9 \ No newline at end of file + dart pub global activate -sgit https://github.com/dart-lang/http.git --git-ref dart pub global activate -sgit https://github.com/dabblingwithcode/serverpod_vps.git --git-ref 36f98e900347335af2338a0e087538009b7de2f9 + +confirm: ## yes/no prompt (Windows compatible) + @powershell -NoProfile -Command "$$bold = [char]27 + '[1m'; $$reset = [char]27 + '[0m'; Write-Host \"$${bold}WARNING: This will create a migration. Continue? (y/n)$${reset}\" -ForegroundColor Red -NoNewline; $$r = Read-Host; if ($$r -ne 'y' -and $$r -ne 'Y') { Write-Host 'Cancelled.' -ForegroundColor Yellow; exit 1 } else { Write-Host 'Proceeding...' -ForegroundColor Green }" + serverpod create-migration diff --git a/school_data_hub_server/README.md b/school_data_hub_server/README.md index 825f76bd..d5e2c518 100644 --- a/school_data_hub_server/README.md +++ b/school_data_hub_server/README.md @@ -1,7 +1,482 @@ -# school_data_hub_server +# School Data Hub Server +The Serverpod backend server for School Data Hub. This server provides the API endpoints, database management, and business logic for the School Data Hub application. +## Overview -#### Reach docker container from the cli -list containers: docker ps -docker exec -it <mycontainer> ash \ No newline at end of file +The server is built with Serverpod 2.9.1, a Dart-based server framework that provides: +- RESTful API endpoints +- PostgreSQL database integration +- Redis for caching and sessions +- Authentication and authorization +- File storage management +- Background tasks (future calls) + +## Prerequisites + +- **Dart SDK**: >=3.3.0 +- **Docker & Docker Compose**: For running PostgreSQL and Redis +- **Serverpod CLI**: Install globally with: + ```bash + dart pub global activate serverpod_cli + ``` + +## Quick Start + +### Using Docker Compose (Recommended) + +The easiest way to get started is using Docker Compose: + +1. Start the required services (PostgreSQL and Redis): + ```bash + docker compose up -d + ``` + + This starts: + - PostgreSQL on port 8090 (development) and 9090 (test) + - Redis on port 8091 (development) and 9091 (test) + +2. Generate server code and create migrations: + ```bash + make generate + ``` + + Or manually: + ```bash + serverpod generate + serverpod create-migration + dart run bin/main.dart --role maintenance --apply-migrations + ``` + +3. Run the server: + ```bash + make run + ``` + + Or manually: + ```bash + dart run bin/main.dart --apply-migrations + ``` + +The server will start on `http://localhost:8080` by default. + +### Configuration + +Configuration files are located in the `config/` directory: +- `development.yaml` - Development environment +- `staging.yaml` - Staging environment +- `production.yaml` - Production environment +- `test.yaml` - Test environment + +Edit these files to configure: +- Database connection strings +- Redis connection settings +- Server ports and URLs +- Email server configuration +- Storage paths + +## Project Structure + +``` +lib/ +├── server.dart # Server entry point +└── src/ + ├── _features/ # Feature modules + │ ├── admin/ # Admin endpoints + │ ├── attendance/ # Attendance management + │ ├── auth/ # Authentication + │ ├── authorizations/ # Authorization management + │ ├── books/ # Library management + │ ├── learning/ # Competence tracking + │ ├── learning_support/ # Learning support plans + │ ├── matrix/ # Matrix integration + │ ├── pupil/ # Pupil data management + │ ├── school_data/ # School configuration + │ ├── school_lists/ # School lists + │ ├── schoolday/ # Schoolday management + │ ├── schoolday_events/ # Schoolday events + │ ├── timetable/ # Timetable management + │ ├── user/ # User management + │ └── workbooks/ # Workbook management + ├── _shared/ # Shared models and endpoints + ├── future_calls/ # Background tasks + ├── generated/ # Auto-generated code + ├── helpers/ # Helper functions + ├── schemas/ # Database schemas + └── utils/ # Utilities (mailer, logger, etc.) +config/ # Environment configurations +migrations/ # Database migration files +storage/ # File storage +├── private/ # Private files (avatars, documents, etc.) +└── public/ # Public files +deploy/ # Deployment configurations +├── aws/ # AWS deployment (Terraform) +└── gcp/ # GCP deployment +``` + +## Development + +### Running the Server + +Start the server in development mode: +```bash +make run +``` + +Or: +```bash +dart run bin/main.dart --apply-migrations +``` + +The `--apply-migrations` flag automatically applies any pending database migrations. + +### Generating Code + +When you modify models or endpoints, regenerate the code: +```bash +make generate +``` + +This runs: +1. `serverpod generate` - Generates protocol and client code +2. `serverpod create-migration` - Creates database migration +3. Applies the migration to the database + +### Database Migrations + +#### Creating Migrations + +After modifying models, create a migration: +```bash +serverpod create-migration +``` + +#### Applying Migrations + +Migrations are automatically applied when running with `--apply-migrations`, or manually: +```bash +dart run bin/main.dart --role maintenance --apply-migrations +``` + +#### Reviewing Migrations + +Migrations are stored in `migrations/` directory. Each migration includes: +- `definition.json` - Model definitions +- `definition.sql` - SQL schema changes +- `migration.sql` - Migration SQL script + +### Testing + +Run tests: +```bash +dart test +``` + +For integration tests, ensure test services are running: +```bash +docker compose up -d +``` + +### Resetting the Development Environment + +**Windows:** +```bash +make reset +``` + +**macOS/Linux:** +```bash +make reset_mac +``` + +This will: +- Remove all migrations and storage data +- Recreate directory structure +- Regenerate code and create new migrations +- Reset Docker volumes +- Apply migrations + +⚠️ **Warning**: This deletes all data! Only use in development. + +## Docker Management + +### Accessing Database Containers + +List running containers: +```bash +docker ps +``` + +Access PostgreSQL container shell: +```bash +docker exec -it <container_name> ash +``` + +Or using the service name: +```bash +docker exec -it school_data_hub_server-postgres-1 ash +``` + +### Database Access + +Connect to PostgreSQL: +```bash +# Development database +docker exec -it school_data_hub_server-postgres-1 psql -U postgres -d school_data_hub + +# Test database +docker exec -it school_data_hub_server-postgres_test-1 psql -U postgres -d school_data_hub_test +``` + +### Stopping Services + +Stop all services: +```bash +docker compose down +``` + +Stop and remove volumes (⚠️ deletes data): +```bash +docker compose down --volumes +``` + +## Deployment + +The server supports automated deployment via GitHub Actions. Multiple deployment strategies are available: + +### GitHub Actions Deployment + +GitHub Actions workflows are configured in `.github/workflows/`: + +#### Docker Deployment (VPS) + +Automated Docker deployment to Virtual Private Servers (VPS): + +**Workflows:** +- `deployment-docker.yml` - Production deployment (triggers on `main` branch) +- `deployment-docker-staging.yml` - Staging deployment (triggers on `develop` or `staging` branches) + +**How it works:** + +1. **Build and Push**: Builds Docker image and pushes to GitHub Container Registry (ghcr.io) +2. **Deploy**: Connects to VPS via SSH and deploys using Docker Compose + +**Prerequisites:** + +Set up the following GitHub Secrets in your repository: + +**SSH Configuration:** +- `SSH_PRIVATE_KEY` - Private SSH key for VPS access +- `SSH_USER` - SSH username (e.g., "github-actions") +- `SSH_HOST` - Production VPS hostname/IP +- `SSH_STAGING_HOST` - Staging VPS hostname/IP (for staging workflow) + +**GitHub Access:** +- `PAT_GITHUB` or `PAT_TOKEN` - GitHub Personal Access Token +- `PAT_USER_GITHUB` - GitHub username for the PAT + +**Production Server Configuration:** +- `SERVERPOD_DATABASE_NAME` - Database name +- `SERVERPOD_DATABASE_USER` - Database username +- `SERVERPOD_DATABASE_PASSWORD` - Database password +- `SERVERPOD_API_SERVER_PUBLIC_HOST` - API server domain +- `SERVERPOD_INSIGHTS_SERVER_PUBLIC_HOST` - Insights server domain +- `SERVERPOD_WEB_SERVER_PUBLIC_HOST` - Web server domain +- `SERVERPOD_MAX_REQUEST_SIZE` - Maximum request size in bytes +- `SERVERPOD_SERVICE_SECRET` - Service secret (minimum 20 characters) + +**Staging Server Configuration:** +- `SERVERPOD_STAGING_DATABASE_NAME` - Staging database name +- `SERVERPOD_STAGING_DATABASE_USER` - Staging database username +- `SERVERPOD_STAGING_DATABASE_PASSWORD` - Staging database password +- `SERVERPOD_STAGING_API_SERVER_PUBLIC_HOST` - Staging API server domain +- `SERVERPOD_STAGING_INSIGHTS_SERVER_PUBLIC_HOST` - Staging Insights server domain +- `SERVERPOD_STAGING_WEB_SERVER_PUBLIC_HOST` - Staging Web server domain +- `SERVERPOD_STAGING_MAX_REQUEST_SIZE` - Staging max request size +- `SERVERPOD_STAGING_SERVICE_SECRET` - Staging service secret + +**Optional Mail Configuration (Staging):** +- `SERVERPOD_MAIL_USERNAME` - SMTP username +- `SERVERPOD_MAIL_PASSWORD` - SMTP password +- `SERVERPOD_MAIL_SMTP_HOST` - SMTP host +- `SERVERPOD_MAIL_ADMIN` - Admin email address + +**Deployment Process:** + +1. **Automatic Trigger**: Pushes to `main` branch trigger production deployment +2. **Manual Trigger**: Go to **Actions** tab → Select workflow → **Run workflow** + +The workflow will: +- Build Docker image for ARM64/ARMv7 architectures +- Push image to GitHub Container Registry +- Connect to VPS via SSH +- Pull latest image and restart services using Docker Compose + +**Configuration:** + +Update `.github/workflows/deployment-docker.yml`: +- `GHCR_ORG` - Your GitHub organization/username +- `branches` - Branches that trigger deployment + +See `.github/workflows/deployment-docker.md` for detailed VPS setup instructions. + +#### AWS Deployment + +Deploy to AWS using CodeDeploy: + +**Workflow:** `deployment-aws.yml` + +**Trigger:** +- Pushes to `deployment-aws-production` or `deployment-aws-staging` branches +- Manual dispatch with target selection + +**Prerequisites:** + +Set up AWS secrets: +- `AWS_ACCESS_KEY_ID` - AWS access key +- `AWS_SECRET_ACCESS_KEY` - AWS secret key +- `SERVERPOD_PASSWORDS` - Serverpod passwords configuration (YAML content) + +**Configuration:** + +Update workflow variables: +- `DEPLOYMENT_BUCKET` - S3 bucket for deployments +- `AWS_NAME` - Application name in AWS + +The workflow: +1. Compiles the server +2. Creates deployment package +3. Uploads to S3 +4. Triggers AWS CodeDeploy deployment + +**Infrastructure:** + +Terraform configurations are available in `deploy/aws/terraform/` for: +- EC2 instances +- RDS database +- Redis cache +- CloudFront distribution + +#### GCP Deployment + +Deploy to Google Cloud Platform: + +**Workflow:** `deployment-gcp.yml` + +**Trigger:** +- Pushes to `deployment-gcp-production` or `deployment-gcp-staging` branches +- Manual dispatch with target selection + +**Prerequisites:** + +Set up GCP secrets: +- `GOOGLE_CREDENTIALS` - GCP service account credentials (JSON) +- `SERVERPOD_PASSWORDS` - Serverpod passwords configuration + +**Configuration:** + +Update workflow environment variables: +- `PROJECT` - GCP project ID +- `REGION` - GCP region (default: us-central1) +- `ZONE` - GCP zone (default: us-central1-c) + +The workflow: +1. Authenticates to Google Cloud +2. Builds Docker image +3. Pushes to Google Container Registry +4. (Optional) Restarts instances in managed instance group + +**Infrastructure:** + +Terraform and Cloud Run configurations are available in `deploy/gcp/`. + +### Manual Docker Deployment + +For manual deployment without GitHub Actions: + +Production Docker configuration is available in: +- `docker-compose.production.yaml` +- `docker-compose.staging.yaml` +- `Dockerfile.prod` + +### Cloud Deployment + +Deployment configurations are available in `deploy/`: +- **AWS**: Terraform configurations for EC2, RDS, Redis, and CloudFront +- **GCP**: Configurations for Cloud Run and GCE + +See `deploy/` directories for platform-specific deployment instructions. + +## Features + +### Background Tasks (Future Calls) + +The server supports background tasks: +- `database_backup_future_call.dart` - Automated database backups +- `increase_credit_future_call.dart` - Credit management tasks + +### Mail Service + +Email functionality is implemented via the `mailer` package. Configuration is managed through environment config files. + +See `lib/src/utils/MAILER_README.md` for mail service documentation. + +### Storage + +File storage is organized in: +- `storage/private/` - Encrypted, private files (avatars, documents, events) +- `storage/public/` - Publicly accessible files + +### UML Diagram Generation + +Generate UML diagrams of your models: +```bash +make uml +``` + +This uses `uml_for_serverpod` to generate diagrams based on `uml_config.yaml`. + +## Database Backups + +Backups are stored in `database_backups/`. Automated backups can be configured through future calls. + +## Logging + +The server uses the `logging` package. Configure log levels and outputs in your environment configuration files. + +## Security + +- All sensitive data is encrypted +- Authentication via Serverpod Auth +- Authorization through user scopes +- Secure file storage for private documents + +## Troubleshooting + +### Common Issues + +1. **Port Already in Use**: Change the port in your configuration file or stop the conflicting service. + +2. **Database Connection Failed**: Ensure Docker containers are running: + ```bash + docker compose ps + ``` + +3. **Migration Errors**: Review migration files in `migrations/` and ensure they're in the correct order. + +4. **Storage Permission Errors**: Ensure the `storage/` directory has proper write permissions. + +## Makefile Commands + +- `make generate` - Generate code and apply migrations +- `make docker` - Start Docker containers +- `make reset` - Reset development environment (Windows) +- `make reset_mac` - Reset development environment (macOS/Linux) +- `make run` - Run the server +- `make uml` - Generate UML diagrams + +## Resources + +- [Serverpod Documentation](https://serverpod.dev) +- [Main README](../README.md) +- [Serverpod GitHub](https://github.com/serverpod/serverpod) diff --git a/school_data_hub_server/lib/src/_features/admin/endpoints/admin_endpoint.dart b/school_data_hub_server/lib/src/_features/admin/endpoints/admin_endpoint.dart index 8af19fda..e1f7865e 100644 --- a/school_data_hub_server/lib/src/_features/admin/endpoints/admin_endpoint.dart +++ b/school_data_hub_server/lib/src/_features/admin/endpoints/admin_endpoint.dart @@ -30,6 +30,9 @@ class AdminEndpoint extends Endpoint { required int reliefTimeUnits, required List<String> scopeNames, required bool isTester, + String? schooldayEventsProcessingTeam, + String? matrixUserId, + int? credit, }) async { session.log('Creating user: $userName, $email'); final UserInfo? userInfo = @@ -45,17 +48,17 @@ class AdminEndpoint extends Endpoint { await auth.UserInfo.db.updateRow(session, userInfo); // Convert string scopes to Scope objects - // TODO: fix this when we use more scopes - bool isAdmin = false; + Set<Scope> scopes = {}; for (final scope in scopeNames) { - if (scope.contains('admin')) { - isAdmin = true; + if (scope == 'admin') { + scopes.add(Scope('serverpod.admin')); + } else { + scopes.add(Scope(scope)); } } // Update scopes if provided - await auth.Users.updateUserScopes( - session, userInfo.id!, isAdmin ? {Scope('serverpod.admin')} : {}); + await auth.Users.updateUserScopes(session, userInfo.id!, scopes); // Create a new User object and insert it into the database final newUser = User( userInfoId: userInfo.id!, @@ -70,7 +73,8 @@ class AdminEndpoint extends Endpoint { role: role, timeUnits: timeUnits, reliefTimeUnits: reliefTimeUnits, - credit: 50, + credit: credit ?? 50, + matrixUserId: matrixUserId, ); await User.db.insertRow(session, newUser); diff --git a/school_data_hub_server/lib/src/_features/pupil/endpooints/pupil_update_endpoint.dart b/school_data_hub_server/lib/src/_features/pupil/endpooints/pupil_update_endpoint.dart index 163fe796..6afcebd2 100644 --- a/school_data_hub_server/lib/src/_features/pupil/endpooints/pupil_update_endpoint.dart +++ b/school_data_hub_server/lib/src/_features/pupil/endpooints/pupil_update_endpoint.dart @@ -391,4 +391,22 @@ class PupilUpdateEndpoint extends Endpoint { ); return updatedPupilWithRelation!; } + + Future<PupilData> updateAfterSchoolCare( + Session session, int pupilId, AfterSchoolCare afterSchoolCare) async { + final pupil = await PupilData.db + .findById(session, pupilId, include: PupilSchemas.allInclude); + if (pupil == null) { + throw Exception('Pupil not found'); + } + pupil.afterSchoolCare = afterSchoolCare; + await PupilData.db.updateRow(session, pupil); + // Fetch the object again with the relation included + final updatedPupilWithRelation = await PupilData.db.findById( + session, + pupil.id!, + include: PupilSchemas.allInclude, + ); + return updatedPupilWithRelation!; + } } diff --git a/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart b/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart index d2772b78..f4f66ebe 100644 --- a/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart +++ b/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart @@ -1,6 +1,7 @@ import 'package:logging/logging.dart'; import 'package:school_data_hub_server/src/generated/protocol.dart'; -import 'package:school_data_hub_server/src/utils/mailer.dart'; +import 'package:school_data_hub_server/src/utils/matrix_notifications/matrix_notifications.dart'; +import 'package:school_data_hub_server/src/utils/matrix_notifications/schoolday_event_notification_text.dart'; import 'package:serverpod/serverpod.dart'; final _log = Logger('SchooldayEventEndpoint'); @@ -20,14 +21,15 @@ class SchooldayEventEndpoint extends Endpoint { Future<SchooldayEvent> createSchooldayEvent(Session session, {required int pupilId, + required String pupilNameAndGroup, + required String dateTimeAsString, required int schooldayId, required SchooldayEventType type, required String reason, required String createdBy, required String tutor}) async { final eventId = Uuid().v4(); - final recipient = await User.db - .findFirstRow(session, where: (t) => t.userInfo.userName.equals(tutor)); + final schooldayEvent = SchooldayEvent( eventId: eventId, pupilId: pupilId, @@ -48,20 +50,51 @@ class SchooldayEventEndpoint extends Endpoint { processedDocument: HubDocument.include(), ), ); - // TODO: Need to implement the mail secrets in the github actions secrets + try { final pupil = await PupilData.db.findFirstRow(session, - where: (t) => t.id.equals(eventWithSchoolday!.pupilId)); + where: (t) => t.id.equals(eventWithSchoolday!.pupilId), + include: + PupilData.include(schooldayEvents: SchooldayEvent.includeList())); + final numberOfEventsOfTheSameType = pupil?.schooldayEvents + ?.where((event) => event.eventType == type) + .length ?? + 0; + final matrixNotifications = MatrixNotifications(); + final recipients = await matrixNotifications.findNotificationRecipients( + session: session, + pupilNameAndGroup: pupilNameAndGroup, + tutor: tutor, + ); - // MailerService.instance.initializeFromSession(session); + // Send notification to all recipients + if (recipients.isEmpty) { + // Fallback to default recipient if no matches found + _log.warning('No recipients found for schoolday event $eventId'); + return eventWithSchoolday!; + } - final success = await MailerService.instance.sendNotification( - recipient: recipient?.userInfo?.email ?? '', - subject: 'Neues Schulereignis', - message: 'Es wurde ein neues Schulereignis erstellt.\n\n' - 'Es ist das Schulereignis Nummer ${pupil?.schooldayEvents?.length}'); + await matrixNotifications.sendDirectTextMessage( + session: session, + recipients: recipients, + text: getSchooldayEventNotificationMarkdown( + eventcreator: createdBy, + pupilName: pupilNameAndGroup, + schooldayEvent: eventWithSchoolday!, + numberOfEvents: numberOfEventsOfTheSameType), + html: getSchooldayEventNotificationHtml( + eventcreator: createdBy, + pupilName: pupilNameAndGroup, + schooldayEvent: eventWithSchoolday, + numberOfEvents: numberOfEventsOfTheSameType), + ); + // final success = await MailerService.instance.sendNotification( + // recipient: recipient?.userInfo?.email ?? '', + // subject: 'Neues Schulereignis', + // message: 'Es wurde ein neues Schulereignis erstellt.\n\n' + // 'Es ist das Schulereignis Nummer ${pupil?.schooldayEvents?.length}'); } catch (e) { - _log.severe('Error sending startup notification email: $e'); + _log.severe('Error sending matrix notification: $e'); } return eventWithSchoolday!; diff --git a/school_data_hub_server/lib/src/_features/user/endpoints/user_endpoints.dart b/school_data_hub_server/lib/src/_features/user/endpoints/user_endpoints.dart index 5860a566..f98acb51 100644 --- a/school_data_hub_server/lib/src/_features/user/endpoints/user_endpoints.dart +++ b/school_data_hub_server/lib/src/_features/user/endpoints/user_endpoints.dart @@ -119,34 +119,6 @@ class UserEndpoint extends Endpoint { } final result = await Emails.changePassword( session, authenticationInfo.userId, oldPassword, newPassword); - // // Find the user's email auth entry - // var emailAuth = await EmailAuth.db.findFirstRow(session, where: (t) { - // return t.userId.equals(authenticationInfo.userId); - // }); - - // if (emailAuth == null) { - // _log.severe('User doesn\'t have email authentication'); - // return false; // User doesn't have email authentication - // } - - // // Generate hash for the old password and compare with stored hash - // String oldPasswordHash = await Emails.generatePasswordHash(oldPassword); - // bool isValid = (oldPasswordHash == emailAuth.hash); - // _log.info('oldPasswordHash: $oldPasswordHash'); - // _log.info('emailAuth.hash: ${emailAuth.hash}'); - // _log.info('isValid: $isValid'); - // if (!isValid) { - // _log.severe('Old password is incorrect'); - // return false; // Old password is incorrect - // } - - // // Generate hash for the new password - // emailAuth.hash = await Emails.generatePasswordHash(newPassword); - // _log.info('newPasswordHash: ${emailAuth.hash}'); - - // // Update the password in the database - // await EmailAuth.db.updateRow(session, emailAuth); - // _log.info('Password changed successfully'); return result; } diff --git a/school_data_hub_server/lib/src/_features/user/models/staff_user.spy.yaml b/school_data_hub_server/lib/src/_features/user/models/staff_user.spy.yaml index 0af35c2e..f4528873 100644 --- a/school_data_hub_server/lib/src/_features/user/models/staff_user.spy.yaml +++ b/school_data_hub_server/lib/src/_features/user/models/staff_user.spy.yaml @@ -4,11 +4,15 @@ table: user fields: userInfo: module:auth:UserInfo?, relation(onDelete=Cascade) role: Role + matrixUserId: String? timeUnits: int reliefTimeUnits: int scheduledLessonsTeacher: List<ScheduledLessonTeacher>?, relation(name=user_scheduled_lesson) lessonsTeacher: List<LessonTeacher>?, relation(name=user_lesson) pupilsAuth: Set<int>? + ## DEPRECATED: schoolday events processing team is deprecated and will be removed in the future + ## Use scopes instead + schooldayEventsProcessingTeam: String? credit: int userFlags: UserFlags indexes: diff --git a/school_data_hub_server/lib/src/generated/_features/user/models/staff_user.dart b/school_data_hub_server/lib/src/generated/_features/user/models/staff_user.dart index 23cec023..7bc55aa5 100644 --- a/school_data_hub_server/lib/src/generated/_features/user/models/staff_user.dart +++ b/school_data_hub_server/lib/src/generated/_features/user/models/staff_user.dart @@ -26,11 +26,13 @@ abstract class User implements _i1.TableRow<int?>, _i1.ProtocolSerialization { required this.userInfoId, this.userInfo, required this.role, + this.matrixUserId, required this.timeUnits, required this.reliefTimeUnits, this.scheduledLessonsTeacher, this.lessonsTeacher, this.pupilsAuth, + this.schooldayEventsProcessingTeam, required this.credit, required this.userFlags, }); @@ -40,11 +42,13 @@ abstract class User implements _i1.TableRow<int?>, _i1.ProtocolSerialization { required int userInfoId, _i2.UserInfo? userInfo, required _i3.Role role, + String? matrixUserId, required int timeUnits, required int reliefTimeUnits, List<_i4.ScheduledLessonTeacher>? scheduledLessonsTeacher, List<_i5.LessonTeacher>? lessonsTeacher, Set<int>? pupilsAuth, + String? schooldayEventsProcessingTeam, required int credit, required _i6.UserFlags userFlags, }) = _UserImpl; @@ -58,6 +62,7 @@ abstract class User implements _i1.TableRow<int?>, _i1.ProtocolSerialization { : _i2.UserInfo.fromJson( (jsonSerialization['userInfo'] as Map<String, dynamic>)), role: _i3.Role.fromJson((jsonSerialization['role'] as String)), + matrixUserId: jsonSerialization['matrixUserId'] as String?, timeUnits: jsonSerialization['timeUnits'] as int, reliefTimeUnits: jsonSerialization['reliefTimeUnits'] as int, scheduledLessonsTeacher: (jsonSerialization['scheduledLessonsTeacher'] @@ -73,6 +78,8 @@ abstract class User implements _i1.TableRow<int?>, _i1.ProtocolSerialization { : _i1.SetJsonExtension.fromJson( (jsonSerialization['pupilsAuth'] as List), itemFromJson: (e) => e as int), + schooldayEventsProcessingTeam: + jsonSerialization['schooldayEventsProcessingTeam'] as String?, credit: jsonSerialization['credit'] as int, userFlags: _i6.UserFlags.fromJson( (jsonSerialization['userFlags'] as Map<String, dynamic>)), @@ -92,6 +99,8 @@ abstract class User implements _i1.TableRow<int?>, _i1.ProtocolSerialization { _i3.Role role; + String? matrixUserId; + int timeUnits; int reliefTimeUnits; @@ -102,6 +111,8 @@ abstract class User implements _i1.TableRow<int?>, _i1.ProtocolSerialization { Set<int>? pupilsAuth; + String? schooldayEventsProcessingTeam; + int credit; _i6.UserFlags userFlags; @@ -117,11 +128,13 @@ abstract class User implements _i1.TableRow<int?>, _i1.ProtocolSerialization { int? userInfoId, _i2.UserInfo? userInfo, _i3.Role? role, + String? matrixUserId, int? timeUnits, int? reliefTimeUnits, List<_i4.ScheduledLessonTeacher>? scheduledLessonsTeacher, List<_i5.LessonTeacher>? lessonsTeacher, Set<int>? pupilsAuth, + String? schooldayEventsProcessingTeam, int? credit, _i6.UserFlags? userFlags, }); @@ -132,6 +145,7 @@ abstract class User implements _i1.TableRow<int?>, _i1.ProtocolSerialization { 'userInfoId': userInfoId, if (userInfo != null) 'userInfo': userInfo?.toJson(), 'role': role.toJson(), + if (matrixUserId != null) 'matrixUserId': matrixUserId, 'timeUnits': timeUnits, 'reliefTimeUnits': reliefTimeUnits, if (scheduledLessonsTeacher != null) @@ -141,6 +155,8 @@ abstract class User implements _i1.TableRow<int?>, _i1.ProtocolSerialization { 'lessonsTeacher': lessonsTeacher?.toJson(valueToJson: (v) => v.toJson()), if (pupilsAuth != null) 'pupilsAuth': pupilsAuth?.toJson(), + if (schooldayEventsProcessingTeam != null) + 'schooldayEventsProcessingTeam': schooldayEventsProcessingTeam, 'credit': credit, 'userFlags': userFlags.toJson(), }; @@ -153,6 +169,7 @@ abstract class User implements _i1.TableRow<int?>, _i1.ProtocolSerialization { 'userInfoId': userInfoId, if (userInfo != null) 'userInfo': userInfo?.toJsonForProtocol(), 'role': role.toJson(), + if (matrixUserId != null) 'matrixUserId': matrixUserId, 'timeUnits': timeUnits, 'reliefTimeUnits': reliefTimeUnits, if (scheduledLessonsTeacher != null) @@ -162,6 +179,8 @@ abstract class User implements _i1.TableRow<int?>, _i1.ProtocolSerialization { 'lessonsTeacher': lessonsTeacher?.toJson(valueToJson: (v) => v.toJsonForProtocol()), if (pupilsAuth != null) 'pupilsAuth': pupilsAuth?.toJson(), + if (schooldayEventsProcessingTeam != null) + 'schooldayEventsProcessingTeam': schooldayEventsProcessingTeam, 'credit': credit, 'userFlags': userFlags.toJsonForProtocol(), }; @@ -213,11 +232,13 @@ class _UserImpl extends User { required int userInfoId, _i2.UserInfo? userInfo, required _i3.Role role, + String? matrixUserId, required int timeUnits, required int reliefTimeUnits, List<_i4.ScheduledLessonTeacher>? scheduledLessonsTeacher, List<_i5.LessonTeacher>? lessonsTeacher, Set<int>? pupilsAuth, + String? schooldayEventsProcessingTeam, required int credit, required _i6.UserFlags userFlags, }) : super._( @@ -225,11 +246,13 @@ class _UserImpl extends User { userInfoId: userInfoId, userInfo: userInfo, role: role, + matrixUserId: matrixUserId, timeUnits: timeUnits, reliefTimeUnits: reliefTimeUnits, scheduledLessonsTeacher: scheduledLessonsTeacher, lessonsTeacher: lessonsTeacher, pupilsAuth: pupilsAuth, + schooldayEventsProcessingTeam: schooldayEventsProcessingTeam, credit: credit, userFlags: userFlags, ); @@ -243,11 +266,13 @@ class _UserImpl extends User { int? userInfoId, Object? userInfo = _Undefined, _i3.Role? role, + Object? matrixUserId = _Undefined, int? timeUnits, int? reliefTimeUnits, Object? scheduledLessonsTeacher = _Undefined, Object? lessonsTeacher = _Undefined, Object? pupilsAuth = _Undefined, + Object? schooldayEventsProcessingTeam = _Undefined, int? credit, _i6.UserFlags? userFlags, }) { @@ -257,6 +282,7 @@ class _UserImpl extends User { userInfo: userInfo is _i2.UserInfo? ? userInfo : this.userInfo?.copyWith(), role: role ?? this.role, + matrixUserId: matrixUserId is String? ? matrixUserId : this.matrixUserId, timeUnits: timeUnits ?? this.timeUnits, reliefTimeUnits: reliefTimeUnits ?? this.reliefTimeUnits, scheduledLessonsTeacher: scheduledLessonsTeacher @@ -269,6 +295,9 @@ class _UserImpl extends User { pupilsAuth: pupilsAuth is Set<int>? ? pupilsAuth : this.pupilsAuth?.map((e0) => e0).toSet(), + schooldayEventsProcessingTeam: schooldayEventsProcessingTeam is String? + ? schooldayEventsProcessingTeam + : this.schooldayEventsProcessingTeam, credit: credit ?? this.credit, userFlags: userFlags ?? this.userFlags.copyWith(), ); @@ -286,6 +315,10 @@ class UserTable extends _i1.Table<int?> { this, _i1.EnumSerialization.byName, ); + matrixUserId = _i1.ColumnString( + 'matrixUserId', + this, + ); timeUnits = _i1.ColumnInt( 'timeUnits', this, @@ -298,6 +331,10 @@ class UserTable extends _i1.Table<int?> { 'pupilsAuth', this, ); + schooldayEventsProcessingTeam = _i1.ColumnString( + 'schooldayEventsProcessingTeam', + this, + ); credit = _i1.ColumnInt( 'credit', this, @@ -314,6 +351,8 @@ class UserTable extends _i1.Table<int?> { late final _i1.ColumnEnum<_i3.Role> role; + late final _i1.ColumnString matrixUserId; + late final _i1.ColumnInt timeUnits; late final _i1.ColumnInt reliefTimeUnits; @@ -328,6 +367,8 @@ class UserTable extends _i1.Table<int?> { late final _i1.ColumnSerializable pupilsAuth; + late final _i1.ColumnString schooldayEventsProcessingTeam; + late final _i1.ColumnInt credit; late final _i1.ColumnSerializable userFlags; @@ -414,9 +455,11 @@ class UserTable extends _i1.Table<int?> { id, userInfoId, role, + matrixUserId, timeUnits, reliefTimeUnits, pupilsAuth, + schooldayEventsProcessingTeam, credit, userFlags, ]; diff --git a/school_data_hub_server/lib/src/generated/endpoints.dart b/school_data_hub_server/lib/src/generated/endpoints.dart index 2c051535..a3aca7c1 100644 --- a/school_data_hub_server/lib/src/generated/endpoints.dart +++ b/school_data_hub_server/lib/src/generated/endpoints.dart @@ -104,39 +104,41 @@ import 'package:school_data_hub_server/src/generated/_features/pupil/models/pupi as _i59; import 'package:school_data_hub_server/src/generated/_features/learning_support/models/support_level.dart' as _i60; -import 'package:school_data_hub_server/src/generated/_features/school_data/models/school_data.dart' +import 'package:school_data_hub_server/src/generated/_features/pupil/models/pupil_data/after_school_care/after_school_care.dart' as _i61; -import 'package:school_data_hub_server/src/generated/_features/school_lists/models/pupil_entry.dart' +import 'package:school_data_hub_server/src/generated/_features/school_data/models/school_data.dart' as _i62; -import 'package:school_data_hub_server/src/generated/_features/schoolday/models/school_semester.dart' +import 'package:school_data_hub_server/src/generated/_features/school_lists/models/pupil_entry.dart' as _i63; -import 'package:school_data_hub_server/src/generated/_features/schoolday/models/schoolday.dart' +import 'package:school_data_hub_server/src/generated/_features/schoolday/models/school_semester.dart' as _i64; -import 'package:school_data_hub_server/src/generated/_features/schoolday_events/models/schoolday_event_type.dart' +import 'package:school_data_hub_server/src/generated/_features/schoolday/models/schoolday.dart' as _i65; -import 'package:school_data_hub_server/src/generated/_features/schoolday_events/models/schoolday_event.dart' +import 'package:school_data_hub_server/src/generated/_features/schoolday_events/models/schoolday_event_type.dart' as _i66; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/classroom.dart' +import 'package:school_data_hub_server/src/generated/_features/schoolday_events/models/schoolday_event.dart' as _i67; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/lesson/lesson_group.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/classroom.dart' as _i68; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/scheduled_lesson.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/lesson/lesson_group.dart' as _i69; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/lesson_group_membership.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/scheduled_lesson.dart' as _i70; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/subject.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/lesson_group_membership.dart' as _i71; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/timetable.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/subject.dart' as _i72; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/timetable_slot.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/timetable.dart' as _i73; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/weekday_enum.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/timetable_slot.dart' as _i74; -import 'package:school_data_hub_server/src/generated/_features/workbooks/models/pupil_workbook.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/weekday_enum.dart' as _i75; -import 'package:school_data_hub_server/src/generated/_features/workbooks/models/workbook.dart' +import 'package:school_data_hub_server/src/generated/_features/workbooks/models/pupil_workbook.dart' as _i76; -import 'package:serverpod_auth_server/serverpod_auth_server.dart' as _i77; +import 'package:school_data_hub_server/src/generated/_features/workbooks/models/workbook.dart' + as _i77; +import 'package:serverpod_auth_server/serverpod_auth_server.dart' as _i78; class Endpoints extends _i1.EndpointDispatch { @override @@ -406,6 +408,21 @@ class Endpoints extends _i1.EndpointDispatch { type: _i1.getType<bool>(), nullable: false, ), + 'schooldayEventsProcessingTeam': _i1.ParameterDescription( + name: 'schooldayEventsProcessingTeam', + type: _i1.getType<String?>(), + nullable: true, + ), + 'matrixUserId': _i1.ParameterDescription( + name: 'matrixUserId', + type: _i1.getType<String?>(), + nullable: true, + ), + 'credit': _i1.ParameterDescription( + name: 'credit', + type: _i1.getType<int?>(), + nullable: true, + ), }, call: ( _i1.Session session, @@ -422,6 +439,10 @@ class Endpoints extends _i1.EndpointDispatch { reliefTimeUnits: params['reliefTimeUnits'], scopeNames: params['scopeNames'], isTester: params['isTester'], + schooldayEventsProcessingTeam: + params['schooldayEventsProcessingTeam'], + matrixUserId: params['matrixUserId'], + credit: params['credit'], ), ), 'resetPassword': _i1.MethodConnector( @@ -2955,6 +2976,31 @@ class Endpoints extends _i1.EndpointDispatch { params['schoolyearHeldBackDate'], ), ), + 'updateAfterSchoolCare': _i1.MethodConnector( + name: 'updateAfterSchoolCare', + params: { + 'pupilId': _i1.ParameterDescription( + name: 'pupilId', + type: _i1.getType<int>(), + nullable: false, + ), + 'afterSchoolCare': _i1.ParameterDescription( + name: 'afterSchoolCare', + type: _i1.getType<_i61.AfterSchoolCare>(), + nullable: false, + ), + }, + call: ( + _i1.Session session, + Map<String, dynamic> params, + ) async => + (endpoints['pupilUpdate'] as _i20.PupilUpdateEndpoint) + .updateAfterSchoolCare( + session, + params['pupilId'], + params['afterSchoolCare'], + ), + ), }, ); connectors['schoolData'] = _i1.EndpointConnector( @@ -2966,7 +3012,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'schoolData': _i1.ParameterDescription( name: 'schoolData', - type: _i1.getType<_i61.SchoolData>(), + type: _i1.getType<_i62.SchoolData>(), nullable: false, ) }, @@ -3132,7 +3178,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'entry': _i1.ParameterDescription( name: 'entry', - type: _i1.getType<_i62.PupilListEntry>(), + type: _i1.getType<_i63.PupilListEntry>(), nullable: false, ) }, @@ -3238,7 +3284,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'schoolSemester': _i1.ParameterDescription( name: 'schoolSemester', - type: _i1.getType<_i63.SchoolSemester>(), + type: _i1.getType<_i64.SchoolSemester>(), nullable: false, ) }, @@ -3257,7 +3303,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'semester': _i1.ParameterDescription( name: 'semester', - type: _i1.getType<_i63.SchoolSemester>(), + type: _i1.getType<_i64.SchoolSemester>(), nullable: false, ) }, @@ -3333,7 +3379,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'schoolday': _i1.ParameterDescription( name: 'schoolday', - type: _i1.getType<_i64.Schoolday>(), + type: _i1.getType<_i65.Schoolday>(), nullable: false, ) }, @@ -3397,6 +3443,16 @@ class Endpoints extends _i1.EndpointDispatch { type: _i1.getType<int>(), nullable: false, ), + 'pupilNameAndGroup': _i1.ParameterDescription( + name: 'pupilNameAndGroup', + type: _i1.getType<String>(), + nullable: false, + ), + 'dateTimeAsString': _i1.ParameterDescription( + name: 'dateTimeAsString', + type: _i1.getType<String>(), + nullable: false, + ), 'schooldayId': _i1.ParameterDescription( name: 'schooldayId', type: _i1.getType<int>(), @@ -3404,7 +3460,7 @@ class Endpoints extends _i1.EndpointDispatch { ), 'type': _i1.ParameterDescription( name: 'type', - type: _i1.getType<_i65.SchooldayEventType>(), + type: _i1.getType<_i66.SchooldayEventType>(), nullable: false, ), 'reason': _i1.ParameterDescription( @@ -3431,6 +3487,8 @@ class Endpoints extends _i1.EndpointDispatch { .createSchooldayEvent( session, pupilId: params['pupilId'], + pupilNameAndGroup: params['pupilNameAndGroup'], + dateTimeAsString: params['dateTimeAsString'], schooldayId: params['schooldayId'], type: params['type'], reason: params['reason'], @@ -3443,7 +3501,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'schooldayEvent': _i1.ParameterDescription( name: 'schooldayEvent', - type: _i1.getType<_i66.SchooldayEvent>(), + type: _i1.getType<_i67.SchooldayEvent>(), nullable: false, ), 'changedProcessedToFalse': _i1.ParameterDescription( @@ -3555,7 +3613,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'classroom': _i1.ParameterDescription( name: 'classroom', - type: _i1.getType<_i67.Classroom>(), + type: _i1.getType<_i68.Classroom>(), nullable: false, ) }, @@ -3641,7 +3699,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'classroom': _i1.ParameterDescription( name: 'classroom', - type: _i1.getType<_i67.Classroom>(), + type: _i1.getType<_i68.Classroom>(), nullable: false, ) }, @@ -3685,7 +3743,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'lessonGroup': _i1.ParameterDescription( name: 'lessonGroup', - type: _i1.getType<_i68.LessonGroup>(), + type: _i1.getType<_i69.LessonGroup>(), nullable: false, ) }, @@ -3809,7 +3867,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'lessonGroup': _i1.ParameterDescription( name: 'lessonGroup', - type: _i1.getType<_i68.LessonGroup>(), + type: _i1.getType<_i69.LessonGroup>(), nullable: false, ) }, @@ -3853,7 +3911,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'scheduledLesson': _i1.ParameterDescription( name: 'scheduledLesson', - type: _i1.getType<_i69.ScheduledLesson>(), + type: _i1.getType<_i70.ScheduledLesson>(), nullable: false, ) }, @@ -3987,7 +4045,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'scheduledLesson': _i1.ParameterDescription( name: 'scheduledLesson', - type: _i1.getType<_i69.ScheduledLesson>(), + type: _i1.getType<_i70.ScheduledLesson>(), nullable: false, ) }, @@ -4050,7 +4108,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'membership': _i1.ParameterDescription( name: 'membership', - type: _i1.getType<_i70.ScheduledLessonGroupMembership>(), + type: _i1.getType<_i71.ScheduledLessonGroupMembership>(), nullable: false, ) }, @@ -4167,7 +4225,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'membership': _i1.ParameterDescription( name: 'membership', - type: _i1.getType<_i70.ScheduledLessonGroupMembership>(), + type: _i1.getType<_i71.ScheduledLessonGroupMembership>(), nullable: false, ) }, @@ -4265,7 +4323,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'subject': _i1.ParameterDescription( name: 'subject', - type: _i1.getType<_i71.Subject>(), + type: _i1.getType<_i72.Subject>(), nullable: false, ) }, @@ -4368,7 +4426,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'subject': _i1.ParameterDescription( name: 'subject', - type: _i1.getType<_i71.Subject>(), + type: _i1.getType<_i72.Subject>(), nullable: false, ) }, @@ -4410,7 +4468,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'timetable': _i1.ParameterDescription( name: 'timetable', - type: _i1.getType<_i72.Timetable>(), + type: _i1.getType<_i73.Timetable>(), nullable: false, ) }, @@ -4507,7 +4565,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'timetable': _i1.ParameterDescription( name: 'timetable', - type: _i1.getType<_i72.Timetable>(), + type: _i1.getType<_i73.Timetable>(), nullable: false, ) }, @@ -4570,7 +4628,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'timetableSlot': _i1.ParameterDescription( name: 'timetableSlot', - type: _i1.getType<_i73.TimetableSlot>(), + type: _i1.getType<_i74.TimetableSlot>(), nullable: false, ) }, @@ -4637,7 +4695,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'day': _i1.ParameterDescription( name: 'day', - type: _i1.getType<_i74.Weekday>(), + type: _i1.getType<_i75.Weekday>(), nullable: false, ) }, @@ -4656,7 +4714,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'timetableSlot': _i1.ParameterDescription( name: 'timetableSlot', - type: _i1.getType<_i73.TimetableSlot>(), + type: _i1.getType<_i74.TimetableSlot>(), nullable: false, ) }, @@ -4818,7 +4876,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'pupilWorkbook': _i1.ParameterDescription( name: 'pupilWorkbook', - type: _i1.getType<_i75.PupilWorkbook>(), + type: _i1.getType<_i76.PupilWorkbook>(), nullable: false, ) }, @@ -4862,7 +4920,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'workbook': _i1.ParameterDescription( name: 'workbook', - type: _i1.getType<_i76.Workbook>(), + type: _i1.getType<_i77.Workbook>(), nullable: false, ) }, @@ -4909,7 +4967,7 @@ class Endpoints extends _i1.EndpointDispatch { params: { 'workbook': _i1.ParameterDescription( name: 'workbook', - type: _i1.getType<_i76.Workbook>(), + type: _i1.getType<_i77.Workbook>(), nullable: false, ) }, @@ -5032,6 +5090,6 @@ class Endpoints extends _i1.EndpointDispatch { ), }, ); - modules['serverpod_auth'] = _i77.Endpoints()..initializeEndpoints(server); + modules['serverpod_auth'] = _i78.Endpoints()..initializeEndpoints(server); } } diff --git a/school_data_hub_server/lib/src/generated/protocol.dart b/school_data_hub_server/lib/src/generated/protocol.dart index 79ab6b8e..901e52f9 100644 --- a/school_data_hub_server/lib/src/generated/protocol.dart +++ b/school_data_hub_server/lib/src/generated/protocol.dart @@ -4638,6 +4638,12 @@ class Protocol extends _i1.SerializationManagerServer { isNullable: false, dartType: 'protocol:Role', ), + _i2.ColumnDefinition( + name: 'matrixUserId', + columnType: _i2.ColumnType.text, + isNullable: true, + dartType: 'String?', + ), _i2.ColumnDefinition( name: 'timeUnits', columnType: _i2.ColumnType.bigint, @@ -4656,6 +4662,12 @@ class Protocol extends _i1.SerializationManagerServer { isNullable: true, dartType: 'Set<int>?', ), + _i2.ColumnDefinition( + name: 'schooldayEventsProcessingTeam', + columnType: _i2.ColumnType.text, + isNullable: true, + dartType: 'String?', + ), _i2.ColumnDefinition( name: 'credit', columnType: _i2.ColumnType.bigint, diff --git a/school_data_hub_server/lib/src/generated/protocol.yaml b/school_data_hub_server/lib/src/generated/protocol.yaml index c9d6f87c..6c763005 100644 --- a/school_data_hub_server/lib/src/generated/protocol.yaml +++ b/school_data_hub_server/lib/src/generated/protocol.yaml @@ -127,6 +127,7 @@ pupilUpdate: - updatePublicMediaAuth: - updateSupportLevel: - updateSchoolyearHeldBackDate: + - updateAfterSchoolCare: schoolData: - postSchoolData: - getSchoolData: diff --git a/school_data_hub_server/migrations/20251121184735230/definition.json b/school_data_hub_server/migrations/20251121184735230/definition.json new file mode 100644 index 00000000..0fa6b590 --- /dev/null +++ b/school_data_hub_server/migrations/20251121184735230/definition.json @@ -0,0 +1,6520 @@ +{ + "moduleName": "school_data_hub", + "tables": [ + { + "name": "authorization", + "dartName": "Authorization", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('authorization_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "authorization_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "book", + "dartName": "Book", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('book_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "title", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "author", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "readingLevel", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "imagePath", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "book_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "book_id_unique_idx", + "elements": [ + { + "type": 0, + "definition": "isbn" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "book_tag", + "dartName": "BookTag", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('book_tag_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "book_tag_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "book_tagging", + "dartName": "BookTagging", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('book_tagging_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "bookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "bookTagId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "book_tagging_fk_0", + "columns": [ + "bookId" + ], + "referenceTable": "book", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "book_tagging_fk_1", + "columns": [ + "bookTagId" + ], + "referenceTable": "book_tag", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "book_tagging_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "book_tagging_index_idx", + "elements": [ + { + "type": 0, + "definition": "bookId" + }, + { + "type": 0, + "definition": "bookTagId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "competence", + "dartName": "Competence", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "parentCompetence", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "level", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "indicators", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "order", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "competence_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_check", + "dartName": "CompetenceCheck", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_check_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "checkId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "valueFactor", + "columnType": 3, + "isNullable": false, + "dartType": "double" + }, + { + "name": "groupCheckId", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "groupCheckName", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_check_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_check_fk_1", + "columns": [ + "competenceId" + ], + "referenceTable": "competence", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_check_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_goal", + "dartName": "CompetenceGoal", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_goal_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "strategies", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "score", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "achievedAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_goal_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_goal_fk_1", + "columns": [ + "competenceId" + ], + "referenceTable": "competence", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_goal_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_report", + "dartName": "CompetenceReport", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_report_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "reportId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "achievement", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "achievedAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_report_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_report_fk_1", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_report_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_report_check", + "dartName": "CompetenceReportCheck", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_report_check_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "achievement", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceReportId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_report_check_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_report_check_fk_1", + "columns": [ + "competenceId" + ], + "referenceTable": "competence_report_item", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_report_check_fk_2", + "columns": [ + "competenceReportId" + ], + "referenceTable": "competence_report", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_report_check_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_report_item", + "dartName": "CompetenceReportItem", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_report_item_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "parentItem", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "level", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "order", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "competence_report_item_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "compulsory_room", + "dartName": "CompulsoryRoom", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('compulsory_room_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "roomId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "roomType", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:MatrixRoomType" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "compulsory_room_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "credit_transaction", + "dartName": "CreditTransaction", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('credit_transaction_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "sender", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "receiver", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "amount", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "dateTime", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "description", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "_pupilDataCredittransactionsPupilDataId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "credit_transaction_fk_0", + "columns": [ + "_pupilDataCredittransactionsPupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "credit_transaction_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "reciever_idx", + "elements": [ + { + "type": 0, + "definition": "receiver" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "sender_idx", + "elements": [ + { + "type": 0, + "definition": "sender" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "hub_document", + "dartName": "HubDocument", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('hub_document_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "documentId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "documentPath", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "_pupilBookLendingPupilbooklendingfilesPupilBookLendingId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_competenceCheckDocumentsCompetenceCheckId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_competenceGoalDocumentsCompetenceGoalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportCategoryStatusDocumentsSupportCategoryStatusId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportGoalCheckDocumentsSupportGoalCheckId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_preSchoolMedicalPreschoolmedicalfilesPreSchoolMedicalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_preSchoolTestPreschooltestdocumentsPreSchoolTestId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "hub_document_fk_0", + "columns": [ + "_pupilBookLendingPupilbooklendingfilesPupilBookLendingId" + ], + "referenceTable": "pupil_book_lending", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_1", + "columns": [ + "_competenceCheckDocumentsCompetenceCheckId" + ], + "referenceTable": "competence_check", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_2", + "columns": [ + "_competenceGoalDocumentsCompetenceGoalId" + ], + "referenceTable": "competence_goal", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_3", + "columns": [ + "_supportCategoryStatusDocumentsSupportCategoryStatusId" + ], + "referenceTable": "support_category_status", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_4", + "columns": [ + "_supportGoalCheckDocumentsSupportGoalCheckId" + ], + "referenceTable": "support_goal_check", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_5", + "columns": [ + "_preSchoolMedicalPreschoolmedicalfilesPreSchoolMedicalId" + ], + "referenceTable": "pre_school_medical", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_6", + "columns": [ + "_preSchoolTestPreschooltestdocumentsPreSchoolTestId" + ], + "referenceTable": "pre_school_test", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "hub_document_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "kindergarden", + "dartName": "Kindergarden", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('kindergarden_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "phone", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "address", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "contactPerson", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "kindergarden_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "last_pupil_identities_update", + "dartName": "LastPupilIdentiesUpdate", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('last_pupil_identities_update_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "date", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "last_pupil_identities_update_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "learning_support_plan", + "dartName": "LearningSupportPlan", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('learning_support_plan_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "planId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "number", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "socialPedagogue", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "proffesionalsInvolved", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "strengthsDescription", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "problemsDescription", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "learningSupportLevelId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "learning_support_plan_fk_0", + "columns": [ + "learningSupportLevelId" + ], + "referenceTable": "support_level", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "learning_support_plan_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "learning_support_plan_fk_2", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "learning_support_plan_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson", + "dartName": "Lesson", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "subjectId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_fk_0", + "columns": [ + "subjectId" + ], + "referenceTable": "subject", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson_attendance", + "dartName": "LessonAttendance", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_attendance_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "lessonId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "modifiedAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_attendance_fk_0", + "columns": [ + "lessonId" + ], + "referenceTable": "lesson", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "lesson_attendance_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_attendance_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson_group", + "dartName": "LessonGroup", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_group_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "color", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "timetableId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "modifiedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_group_fk_0", + "columns": [ + "timetableId" + ], + "referenceTable": "timetable", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_group_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson_group_pupil", + "dartName": "ScheduledLessonGroupMembership", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_group_pupil_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "lessonGroupId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilDataId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_group_pupil_fk_0", + "columns": [ + "lessonGroupId" + ], + "referenceTable": "lesson_group", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "lesson_group_pupil_fk_1", + "columns": [ + "pupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_group_pupil_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "lesson_group_membership_index_idx", + "elements": [ + { + "type": 0, + "definition": "lessonGroupId" + }, + { + "type": 0, + "definition": "pupilDataId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "lesson_teacher", + "dartName": "LessonTeacher", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_teacher_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "scheduledLessonId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_teacher_fk_0", + "columns": [ + "userId" + ], + "referenceTable": "user", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "lesson_teacher_fk_1", + "columns": [ + "scheduledLessonId" + ], + "referenceTable": "lesson", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_teacher_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "lesson_teacher_unique_idx", + "elements": [ + { + "type": 0, + "definition": "userId" + }, + { + "type": 0, + "definition": "scheduledLessonId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "library_book", + "dartName": "LibraryBook", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('library_book_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "libraryId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "bookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "locationId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "available", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + } + ], + "foreignKeys": [ + { + "constraintName": "library_book_fk_0", + "columns": [ + "bookId" + ], + "referenceTable": "book", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "library_book_fk_1", + "columns": [ + "locationId" + ], + "referenceTable": "library_book_location", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "library_book_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "library_id_unique_idx", + "elements": [ + { + "type": 0, + "definition": "libraryId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "library_book_location", + "dartName": "LibraryBookLocation", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('library_book_location_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "location", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "library_book_location_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "location_unique_idx", + "elements": [ + { + "type": 0, + "definition": "location" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "missed_class", + "dartName": "MissedSchoolday", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('missed_class_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "missedType", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:MissedType" + }, + { + "name": "unexcused", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "contacted", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:ContactedType" + }, + { + "name": "returned", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "returnedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "writtenExcuse", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "minutesLate", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "schooldayId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "missed_class_fk_0", + "columns": [ + "schooldayId" + ], + "referenceTable": "schoolday", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "missed_class_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "missed_class_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "schoolday_pupil_data_idx", + "elements": [ + { + "type": 0, + "definition": "schooldayId" + }, + { + "type": 0, + "definition": "pupilId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "pre_school_medical", + "dartName": "PreSchoolMedical", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pre_school_medical_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "preschoolMedicalStatus", + "columnType": 0, + "isNullable": true, + "dartType": "protocol:PreSchoolMedicalStatus?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "updatedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "updatedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "pre_school_medical_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pre_school_test", + "dartName": "PreSchoolTest", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pre_school_test_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "careNeedsIntensity", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "pre_school_test_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_authorization", + "dartName": "PupilAuthorization", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_authorization_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "status", + "columnType": 1, + "isNullable": true, + "dartType": "bool?" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "fileId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "authorizationId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_authorization_fk_0", + "columns": [ + "fileId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "pupil_authorization_fk_1", + "columns": [ + "authorizationId" + ], + "referenceTable": "authorization", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_authorization_fk_2", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "pupil_authorization_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_book_lending", + "dartName": "PupilBookLending", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_book_lending_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "lendingId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "status", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "lentAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "lentBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "returnedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "receivedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "libraryBookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_book_lending_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_book_lending_fk_1", + "columns": [ + "libraryBookId" + ], + "referenceTable": "library_book", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "pupil_book_lending_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_data", + "dartName": "PupilData", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_data_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "status", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:PupilStatus" + }, + { + "name": "internalId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "password", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "preSchoolMedicalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "kindergardenId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "kindergardenData", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:KindergardenInfo?" + }, + { + "name": "preSchoolTestId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "avatarId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "avatarAuthId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "publicMediaAuth", + "columnType": 8, + "isNullable": false, + "dartType": "protocol:PublicMediaAuth" + }, + { + "name": "publicMediaAuthDocumentId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "contact", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "communicationPupil", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:CommunicationSkills?" + }, + { + "name": "specialInformation", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "tutorInfo", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:TutorInfo?" + }, + { + "name": "afterSchoolCare", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:AfterSchoolCare?" + }, + { + "name": "credit", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "creditEarned", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "schoolyearHeldBackAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "swimmer", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "_kindergardenPupilsKindergardenId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_data_fk_0", + "columns": [ + "preSchoolMedicalId" + ], + "referenceTable": "pre_school_medical", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_1", + "columns": [ + "kindergardenId" + ], + "referenceTable": "kindergarden", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_2", + "columns": [ + "preSchoolTestId" + ], + "referenceTable": "pre_school_test", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_3", + "columns": [ + "avatarId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_4", + "columns": [ + "avatarAuthId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_5", + "columns": [ + "publicMediaAuthDocumentId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_6", + "columns": [ + "_kindergardenPupilsKindergardenId" + ], + "referenceTable": "kindergarden", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "pupil_data_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "pupil_data_status_idx", + "elements": [ + { + "type": 0, + "definition": "status" + }, + { + "type": 0, + "definition": "internalId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "pupil_data_internal_id_idx", + "elements": [ + { + "type": 0, + "definition": "internalId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "pupil_list_entry", + "dartName": "PupilListEntry", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_list_entry_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "status", + "columnType": 1, + "isNullable": true, + "dartType": "bool?" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "entryBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "schoolListId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_list_entry_fk_0", + "columns": [ + "schoolListId" + ], + "referenceTable": "school_list", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "pupil_list_entry_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "pupil_list_entry_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_workbook", + "dartName": "PupilWorkbook", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_workbook_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "finishedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "workbookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_workbook_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "pupil_workbook_fk_1", + "columns": [ + "workbookId" + ], + "referenceTable": "workbook", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "pupil_workbook_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "room", + "dartName": "Classroom", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('room_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "roomCode", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "roomName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "room_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "scheduled_lesson", + "dartName": "ScheduledLesson", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('scheduled_lesson_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "active", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "subjectId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "scheduledAtId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "timetableSlotOrder", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "timetableId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "mainTeacherId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "lessonId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "roomId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "lessonGroupId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "modifiedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "recordtest", + "columnType": 8, + "isNullable": true, + "dartType": "( {int testint, String testString})?" + }, + { + "name": "_roomScheduledlessonsRoomId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "scheduled_lesson_fk_0", + "columns": [ + "subjectId" + ], + "referenceTable": "subject", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_1", + "columns": [ + "scheduledAtId" + ], + "referenceTable": "timetable_slot", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_2", + "columns": [ + "timetableId" + ], + "referenceTable": "timetable", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_3", + "columns": [ + "roomId" + ], + "referenceTable": "room", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_4", + "columns": [ + "lessonGroupId" + ], + "referenceTable": "lesson_group", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_5", + "columns": [ + "_roomScheduledlessonsRoomId" + ], + "referenceTable": "room", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "scheduled_lesson_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "scheduled_lesson_teacher", + "dartName": "ScheduledLessonTeacher", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('scheduled_lesson_teacher_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "scheduledLessonId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "scheduled_lesson_teacher_fk_0", + "columns": [ + "userId" + ], + "referenceTable": "user", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_teacher_fk_1", + "columns": [ + "scheduledLessonId" + ], + "referenceTable": "scheduled_lesson", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "scheduled_lesson_teacher_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "scheduled_lesson_teacher_unique_idx", + "elements": [ + { + "type": 0, + "definition": "userId" + }, + { + "type": 0, + "definition": "scheduledLessonId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "school_data", + "dartName": "SchoolData", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('school_data_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "officialName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "address", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "schoolNumber", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "telephoneNumber", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "website", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "logoId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "officialSealId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "school_data_fk_0", + "columns": [ + "logoId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "school_data_fk_1", + "columns": [ + "officialSealId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "school_data_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "school_list", + "dartName": "SchoolList", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('school_list_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "listId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "archived", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "public", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "authorizedUsers", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "school_list_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "school_semester", + "dartName": "SchoolSemester", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('school_semester_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "schoolYear", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "isFirst", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "startDate", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "endDate", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "classConferenceDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "supportConferenceDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "reportConferenceDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "reportSignedDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "school_semester_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "schoolday", + "dartName": "Schoolday", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('schoolday_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "schoolday", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "schoolday_fk_0", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "schoolday_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "schoolday_event", + "dartName": "SchooldayEvent", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('schoolday_event_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "eventId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "eventType", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:SchooldayEventType" + }, + { + "name": "eventReason", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "processed", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "processedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "processedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "documentId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "processedDocumentId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "schooldayId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "schoolday_event_fk_0", + "columns": [ + "documentId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "schoolday_event_fk_1", + "columns": [ + "processedDocumentId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "schoolday_event_fk_2", + "columns": [ + "schooldayId" + ], + "referenceTable": "schoolday", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "schoolday_event_fk_3", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "schoolday_event_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "subject", + "dartName": "Subject", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('subject_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "color", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "subject_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_category", + "dartName": "SupportCategory", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_category_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "categoryId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "parentCategory", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "support_category_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_category_goal", + "dartName": "SupportGoal", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_category_goal_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "goalId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "achievedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "strategies", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "supportCategoryId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "_learningSupportPlanSupportgoalsLearningSupportPlanId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportCategoryCategorygoalsSupportCategoryId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_pupilDataSupportgoalsPupilDataId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "support_category_goal_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_goal_fk_1", + "columns": [ + "supportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "support_category_goal_fk_2", + "columns": [ + "_learningSupportPlanSupportgoalsLearningSupportPlanId" + ], + "referenceTable": "learning_support_plan", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_goal_fk_3", + "columns": [ + "_supportCategoryCategorygoalsSupportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_goal_fk_4", + "columns": [ + "_pupilDataSupportgoalsPupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "support_category_goal_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_category_status", + "dartName": "SupportCategoryStatus", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_category_status_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "supportCategoryId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "learningSupportPlanId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "_learningSupportPlanSupportcategorystatusesLearningSupporfb7bId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportCategoryCategorystatuesSupportCategoryId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_pupilDataSupportcategorystatusesPupilDataId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "support_category_status_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_1", + "columns": [ + "supportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_2", + "columns": [ + "learningSupportPlanId" + ], + "referenceTable": "learning_support_plan", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_3", + "columns": [ + "_learningSupportPlanSupportcategorystatusesLearningSupporfb7bId" + ], + "referenceTable": "learning_support_plan", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_4", + "columns": [ + "_supportCategoryCategorystatuesSupportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_5", + "columns": [ + "_pupilDataSupportcategorystatusesPupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "support_category_status_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_goal_check", + "dartName": "SupportGoalCheck", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_goal_check_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "checkId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "supportGoalId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "_supportCategoryGoalGoalchecksSupportCategoryGoalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "support_goal_check_fk_0", + "columns": [ + "supportGoalId" + ], + "referenceTable": "support_category_goal", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "support_goal_check_fk_1", + "columns": [ + "_supportCategoryGoalGoalchecksSupportCategoryGoalId" + ], + "referenceTable": "support_category_goal", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "support_goal_check_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_level", + "dartName": "SupportLevel", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_level_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "level", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "support_level_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "support_level_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "timetable", + "dartName": "Timetable", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('timetable_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "active", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "startsAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "endsAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modified", + "columnType": 8, + "isNullable": true, + "dartType": "List<( {String modifiedBy, DateTime modifiedAt})>?" + } + ], + "foreignKeys": [ + { + "constraintName": "timetable_fk_0", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "timetable_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "timetable_school_semester_idx", + "elements": [ + { + "type": 0, + "definition": "schoolSemesterId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "timetable_slot", + "dartName": "TimetableSlot", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('timetable_slot_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "day", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:Weekday" + }, + { + "name": "startTime", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "endTime", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "timetableId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "timetable_slot_fk_0", + "columns": [ + "timetableId" + ], + "referenceTable": "timetable", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "timetable_slot_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "user", + "dartName": "User", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('user_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userInfoId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "role", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:Role" + }, + { + "name": "matrixUserId", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "timeUnits", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "reliefTimeUnits", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilsAuth", + "columnType": 8, + "isNullable": true, + "dartType": "Set<int>?" + }, + { + "name": "credit", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "userFlags", + "columnType": 8, + "isNullable": false, + "dartType": "protocol:UserFlags" + } + ], + "foreignKeys": [ + { + "constraintName": "user_fk_0", + "columns": [ + "userInfoId" + ], + "referenceTable": "serverpod_user_info", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "user_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "user_info_id_unique_idx", + "elements": [ + { + "type": 0, + "definition": "userInfoId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "user_device", + "dartName": "UserDevice", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('user_device_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userInfoId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "deviceId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "deviceName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "lastLogin", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "isActive", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "authId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "user_device_fk_0", + "columns": [ + "userInfoId" + ], + "referenceTable": "serverpod_user_info", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "user_device_fk_1", + "columns": [ + "authId" + ], + "referenceTable": "serverpod_auth_key", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "user_device_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "auth_key_user_device_idx", + "elements": [ + { + "type": 0, + "definition": "authId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "workbook", + "dartName": "Workbook", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('workbook_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "subject", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "level", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "amount", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "imageUrl", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "workbook_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "serverpod_cloud_storage", + "dartName": "CloudStorageEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_cloud_storage_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "storageId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "path", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "addedTime", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "expiration", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "byteData", + "columnType": 5, + "isNullable": false, + "dartType": "dart:typed_data:ByteData" + }, + { + "name": "verified", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_cloud_storage_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_cloud_storage_path_idx", + "elements": [ + { + "type": 0, + "definition": "storageId" + }, + { + "type": 0, + "definition": "path" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + }, + { + "indexName": "serverpod_cloud_storage_expiration", + "elements": [ + { + "type": 0, + "definition": "expiration" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_cloud_storage_direct_upload", + "dartName": "CloudStorageDirectUploadEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_cloud_storage_direct_upload_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "storageId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "path", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "expiration", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "authKey", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_cloud_storage_direct_upload_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_cloud_storage_direct_upload_storage_path", + "elements": [ + { + "type": 0, + "definition": "storageId" + }, + { + "type": 0, + "definition": "path" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_future_call", + "dartName": "FutureCallEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_future_call_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "time", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "serializedObject", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "identifier", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_future_call_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_future_call_time_idx", + "elements": [ + { + "type": 0, + "definition": "time" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "serverpod_future_call_serverId_idx", + "elements": [ + { + "type": 0, + "definition": "serverId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "serverpod_future_call_identifier_idx", + "elements": [ + { + "type": 0, + "definition": "identifier" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_health_connection_info", + "dartName": "ServerHealthConnectionInfo", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_health_connection_info_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "timestamp", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "active", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "closing", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "idle", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "granularity", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_health_connection_info_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_health_connection_info_timestamp_idx", + "elements": [ + { + "type": 0, + "definition": "timestamp" + }, + { + "type": 0, + "definition": "serverId" + }, + { + "type": 0, + "definition": "granularity" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_health_metric", + "dartName": "ServerHealthMetric", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_health_metric_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "timestamp", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "isHealthy", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "value", + "columnType": 3, + "isNullable": false, + "dartType": "double" + }, + { + "name": "granularity", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_health_metric_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_health_metric_timestamp_idx", + "elements": [ + { + "type": 0, + "definition": "timestamp" + }, + { + "type": 0, + "definition": "serverId" + }, + { + "type": 0, + "definition": "name" + }, + { + "type": 0, + "definition": "granularity" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_log", + "dartName": "LogEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_log_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "sessionLogId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "messageId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "reference", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "time", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "logLevel", + "columnType": 6, + "isNullable": false, + "dartType": "protocol:LogLevel" + }, + { + "name": "message", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "error", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "stackTrace", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "order", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "serverpod_log_fk_0", + "columns": [ + "sessionLogId" + ], + "referenceTable": "serverpod_session_log", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "serverpod_log_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_log_sessionLogId_idx", + "elements": [ + { + "type": 0, + "definition": "sessionLogId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_message_log", + "dartName": "MessageLogEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_message_log_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "sessionLogId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "messageId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "endpoint", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "messageName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "duration", + "columnType": 3, + "isNullable": false, + "dartType": "double" + }, + { + "name": "error", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "stackTrace", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "slow", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "order", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "serverpod_message_log_fk_0", + "columns": [ + "sessionLogId" + ], + "referenceTable": "serverpod_session_log", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "serverpod_message_log_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "serverpod_method", + "dartName": "MethodInfo", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_method_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "endpoint", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "method", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_method_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_method_endpoint_method_idx", + "elements": [ + { + "type": 0, + "definition": "endpoint" + }, + { + "type": 0, + "definition": "method" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_migrations", + "dartName": "DatabaseMigrationVersion", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_migrations_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "module", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "version", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "timestamp", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_migrations_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_migrations_ids", + "elements": [ + { + "type": 0, + "definition": "module" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_query_log", + "dartName": "QueryLogEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_query_log_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "sessionLogId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "messageId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "query", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "duration", + "columnType": 3, + "isNullable": false, + "dartType": "double" + }, + { + "name": "numRows", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "error", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "stackTrace", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "slow", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "order", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "serverpod_query_log_fk_0", + "columns": [ + "sessionLogId" + ], + "referenceTable": "serverpod_session_log", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "serverpod_query_log_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_query_log_sessionLogId_idx", + "elements": [ + { + "type": 0, + "definition": "sessionLogId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_readwrite_test", + "dartName": "ReadWriteTestEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_readwrite_test_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "number", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_readwrite_test_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "serverpod_runtime_settings", + "dartName": "RuntimeSettings", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_runtime_settings_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "logSettings", + "columnType": 8, + "isNullable": false, + "dartType": "protocol:LogSettings" + }, + { + "name": "logSettingsOverrides", + "columnType": 8, + "isNullable": false, + "dartType": "List<protocol:LogSettingsOverride>" + }, + { + "name": "logServiceCalls", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "logMalformedCalls", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_runtime_settings_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "serverpod_session_log", + "dartName": "SessionLogEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_session_log_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "time", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "module", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "endpoint", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "method", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "duration", + "columnType": 3, + "isNullable": true, + "dartType": "double?" + }, + { + "name": "numQueries", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "slow", + "columnType": 1, + "isNullable": true, + "dartType": "bool?" + }, + { + "name": "error", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "stackTrace", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "authenticatedUserId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "isOpen", + "columnType": 1, + "isNullable": true, + "dartType": "bool?" + }, + { + "name": "touched", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_session_log_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_session_log_serverid_idx", + "elements": [ + { + "type": 0, + "definition": "serverId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "serverpod_session_log_touched_idx", + "elements": [ + { + "type": 0, + "definition": "touched" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "serverpod_session_log_isopen_idx", + "elements": [ + { + "type": 0, + "definition": "isOpen" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_auth_key", + "dartName": "AuthKey", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_auth_key_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "hash", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "scopeNames", + "columnType": 8, + "isNullable": false, + "dartType": "List<String>" + }, + { + "name": "method", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_auth_key_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_auth_key_userId_idx", + "elements": [ + { + "type": 0, + "definition": "userId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_email_auth", + "dartName": "EmailAuth", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_email_auth_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "hash", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_email_auth_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_email_auth_email", + "elements": [ + { + "type": 0, + "definition": "email" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_email_create_request", + "dartName": "EmailCreateAccountRequest", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_email_create_request_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "hash", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "verificationCode", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_email_create_request_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_email_auth_create_account_request_idx", + "elements": [ + { + "type": 0, + "definition": "email" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_email_failed_sign_in", + "dartName": "EmailFailedSignIn", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_email_failed_sign_in_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "time", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "ipAddress", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_email_failed_sign_in_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_email_failed_sign_in_email_idx", + "elements": [ + { + "type": 0, + "definition": "email" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "serverpod_email_failed_sign_in_time_idx", + "elements": [ + { + "type": 0, + "definition": "time" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_email_reset", + "dartName": "EmailReset", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_email_reset_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "verificationCode", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "expiration", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_email_reset_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_email_reset_verification_idx", + "elements": [ + { + "type": 0, + "definition": "verificationCode" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_google_refresh_token", + "dartName": "GoogleRefreshToken", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_google_refresh_token_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "refreshToken", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_google_refresh_token_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_google_refresh_token_userId_idx", + "elements": [ + { + "type": 0, + "definition": "userId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_user_image", + "dartName": "UserImage", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_user_image_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "version", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "url", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_user_image_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_user_image_user_id", + "elements": [ + { + "type": 0, + "definition": "userId" + }, + { + "type": 0, + "definition": "version" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_user_info", + "dartName": "UserInfo", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_user_info_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userIdentifier", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "userName", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "fullName", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "email", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "created", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "imageUrl", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "scopeNames", + "columnType": 8, + "isNullable": false, + "dartType": "List<String>" + }, + { + "name": "blocked", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_user_info_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_user_info_user_identifier", + "elements": [ + { + "type": 0, + "definition": "userIdentifier" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + }, + { + "indexName": "serverpod_user_info_email", + "elements": [ + { + "type": 0, + "definition": "email" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + } + ], + "installedModules": [ + { + "module": "school_data_hub", + "version": "20251121184735230" + }, + { + "module": "serverpod", + "version": "20240516151843329" + }, + { + "module": "serverpod_auth", + "version": "20240520102713718" + } + ], + "migrationApiVersion": 1 +} \ No newline at end of file diff --git a/school_data_hub_server/migrations/20251121184735230/definition.sql b/school_data_hub_server/migrations/20251121184735230/definition.sql new file mode 100644 index 00000000..ce0eb8f0 --- /dev/null +++ b/school_data_hub_server/migrations/20251121184735230/definition.sql @@ -0,0 +1,1726 @@ +BEGIN; + +-- +-- Class Authorization as table authorization +-- +CREATE TABLE "authorization" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL, + "description" text NOT NULL, + "createdBy" text NOT NULL +); + +-- +-- Class Book as table book +-- +CREATE TABLE "book" ( + "id" bigserial PRIMARY KEY, + "isbn" bigint NOT NULL, + "title" text NOT NULL, + "author" text NOT NULL, + "description" text NOT NULL, + "readingLevel" text, + "imagePath" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "book_id_unique_idx" ON "book" USING btree ("isbn"); + +-- +-- Class BookTag as table book_tag +-- +CREATE TABLE "book_tag" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL +); + +-- +-- Class BookTagging as table book_tagging +-- +CREATE TABLE "book_tagging" ( + "id" bigserial PRIMARY KEY, + "bookId" bigint NOT NULL, + "bookTagId" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "book_tagging_index_idx" ON "book_tagging" USING btree ("bookId", "bookTagId"); + +-- +-- Class Competence as table competence +-- +CREATE TABLE "competence" ( + "id" bigserial PRIMARY KEY, + "publicId" bigint NOT NULL, + "parentCompetence" bigint, + "name" text NOT NULL, + "level" json, + "indicators" json, + "order" bigint +); + +-- +-- Class CompetenceCheck as table competence_check +-- +CREATE TABLE "competence_check" ( + "id" bigserial PRIMARY KEY, + "checkId" text NOT NULL, + "score" bigint NOT NULL, + "comment" text, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "valueFactor" double precision NOT NULL, + "groupCheckId" text, + "groupCheckName" text, + "pupilId" bigint NOT NULL, + "competenceId" bigint NOT NULL +); + +-- +-- Class CompetenceGoal as table competence_goal +-- +CREATE TABLE "competence_goal" ( + "id" bigserial PRIMARY KEY, + "publicId" text NOT NULL, + "description" text NOT NULL, + "strategies" json, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modifiedBy" text NOT NULL, + "score" bigint, + "achievedAt" timestamp without time zone NOT NULL, + "pupilId" bigint NOT NULL, + "competenceId" bigint NOT NULL +); + +-- +-- Class CompetenceReport as table competence_report +-- +CREATE TABLE "competence_report" ( + "id" bigserial PRIMARY KEY, + "reportId" text NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modifiedBy" text NOT NULL, + "achievement" text NOT NULL, + "achievedAt" timestamp without time zone NOT NULL, + "pupilId" bigint NOT NULL, + "schoolSemesterId" bigint NOT NULL +); + +-- +-- Class CompetenceReportCheck as table competence_report_check +-- +CREATE TABLE "competence_report_check" ( + "id" bigserial PRIMARY KEY, + "publicId" text NOT NULL, + "achievement" bigint NOT NULL, + "comment" text NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "pupilId" bigint NOT NULL, + "competenceId" bigint NOT NULL, + "competenceReportId" bigint NOT NULL +); + +-- +-- Class CompetenceReportItem as table competence_report_item +-- +CREATE TABLE "competence_report_item" ( + "id" bigserial PRIMARY KEY, + "publicId" bigint NOT NULL, + "parentItem" bigint, + "name" text NOT NULL, + "level" json, + "order" bigint +); + +-- +-- Class CompulsoryRoom as table compulsory_room +-- +CREATE TABLE "compulsory_room" ( + "id" bigserial PRIMARY KEY, + "roomId" text NOT NULL, + "roomType" text NOT NULL +); + +-- +-- Class CreditTransaction as table credit_transaction +-- +CREATE TABLE "credit_transaction" ( + "id" bigserial PRIMARY KEY, + "sender" text NOT NULL, + "receiver" bigint NOT NULL, + "amount" bigint NOT NULL, + "dateTime" timestamp without time zone NOT NULL, + "description" text, + "_pupilDataCredittransactionsPupilDataId" bigint +); + +-- Indexes +CREATE INDEX "reciever_idx" ON "credit_transaction" USING btree ("receiver"); +CREATE INDEX "sender_idx" ON "credit_transaction" USING btree ("sender"); + +-- +-- Class HubDocument as table hub_document +-- +CREATE TABLE "hub_document" ( + "id" bigserial PRIMARY KEY, + "documentId" text NOT NULL, + "documentPath" text, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "_pupilBookLendingPupilbooklendingfilesPupilBookLendingId" bigint, + "_competenceCheckDocumentsCompetenceCheckId" bigint, + "_competenceGoalDocumentsCompetenceGoalId" bigint, + "_supportCategoryStatusDocumentsSupportCategoryStatusId" bigint, + "_supportGoalCheckDocumentsSupportGoalCheckId" bigint, + "_preSchoolMedicalPreschoolmedicalfilesPreSchoolMedicalId" bigint, + "_preSchoolTestPreschooltestdocumentsPreSchoolTestId" bigint +); + +-- +-- Class Kindergarden as table kindergarden +-- +CREATE TABLE "kindergarden" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL, + "phone" text NOT NULL, + "address" text NOT NULL, + "email" text NOT NULL, + "contactPerson" text NOT NULL +); + +-- +-- Class LastPupilIdentiesUpdate as table last_pupil_identities_update +-- +CREATE TABLE "last_pupil_identities_update" ( + "id" bigserial PRIMARY KEY, + "date" timestamp without time zone +); + +-- +-- Class LearningSupportPlan as table learning_support_plan +-- +CREATE TABLE "learning_support_plan" ( + "id" bigserial PRIMARY KEY, + "planId" text NOT NULL, + "number" bigint, + "createdBy" text NOT NULL, + "socialPedagogue" text, + "proffesionalsInvolved" text, + "strengthsDescription" text, + "problemsDescription" text, + "learningSupportLevelId" bigint NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "comment" text, + "pupilId" bigint NOT NULL, + "schoolSemesterId" bigint NOT NULL +); + +-- +-- Class Lesson as table lesson +-- +CREATE TABLE "lesson" ( + "id" bigserial PRIMARY KEY, + "publicId" text NOT NULL, + "subjectId" bigint NOT NULL +); + +-- +-- Class LessonAttendance as table lesson_attendance +-- +CREATE TABLE "lesson_attendance" ( + "id" bigserial PRIMARY KEY, + "lessonId" bigint NOT NULL, + "pupilId" bigint NOT NULL, + "comment" text, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modifiedBy" text NOT NULL, + "modifiedAt" timestamp without time zone NOT NULL +); + +-- +-- Class LessonGroup as table lesson_group +-- +CREATE TABLE "lesson_group" ( + "id" bigserial PRIMARY KEY, + "publicId" text NOT NULL, + "name" text NOT NULL, + "color" text, + "timetableId" bigint NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modifiedBy" text, + "modifiedAt" timestamp without time zone +); + +-- +-- Class ScheduledLessonGroupMembership as table lesson_group_pupil +-- +CREATE TABLE "lesson_group_pupil" ( + "id" bigserial PRIMARY KEY, + "lessonGroupId" bigint NOT NULL, + "pupilDataId" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "lesson_group_membership_index_idx" ON "lesson_group_pupil" USING btree ("lessonGroupId", "pupilDataId"); + +-- +-- Class LessonTeacher as table lesson_teacher +-- +CREATE TABLE "lesson_teacher" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "scheduledLessonId" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "lesson_teacher_unique_idx" ON "lesson_teacher" USING btree ("userId", "scheduledLessonId"); + +-- +-- Class LibraryBook as table library_book +-- +CREATE TABLE "library_book" ( + "id" bigserial PRIMARY KEY, + "libraryId" text NOT NULL, + "bookId" bigint NOT NULL, + "locationId" bigint NOT NULL, + "available" boolean NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "library_id_unique_idx" ON "library_book" USING btree ("libraryId"); + +-- +-- Class LibraryBookLocation as table library_book_location +-- +CREATE TABLE "library_book_location" ( + "id" bigserial PRIMARY KEY, + "location" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "location_unique_idx" ON "library_book_location" USING btree ("location"); + +-- +-- Class MissedSchoolday as table missed_class +-- +CREATE TABLE "missed_class" ( + "id" bigserial PRIMARY KEY, + "missedType" text NOT NULL, + "unexcused" boolean NOT NULL, + "contacted" text NOT NULL, + "returned" boolean NOT NULL, + "returnedAt" timestamp without time zone, + "writtenExcuse" boolean NOT NULL, + "minutesLate" bigint, + "createdBy" text NOT NULL, + "modifiedBy" text, + "comment" text, + "schooldayId" bigint NOT NULL, + "pupilId" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "schoolday_pupil_data_idx" ON "missed_class" USING btree ("schooldayId", "pupilId"); + +-- +-- Class PreSchoolMedical as table pre_school_medical +-- +CREATE TABLE "pre_school_medical" ( + "id" bigserial PRIMARY KEY, + "preschoolMedicalStatus" text, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "updatedBy" text, + "updatedAt" timestamp without time zone +); + +-- +-- Class PreSchoolTest as table pre_school_test +-- +CREATE TABLE "pre_school_test" ( + "id" bigserial PRIMARY KEY, + "careNeedsIntensity" bigint +); + +-- +-- Class PupilAuthorization as table pupil_authorization +-- +CREATE TABLE "pupil_authorization" ( + "id" bigserial PRIMARY KEY, + "status" boolean, + "comment" text, + "createdBy" text, + "fileId" bigint, + "authorizationId" bigint NOT NULL, + "pupilId" bigint NOT NULL +); + +-- +-- Class PupilBookLending as table pupil_book_lending +-- +CREATE TABLE "pupil_book_lending" ( + "id" bigserial PRIMARY KEY, + "lendingId" text NOT NULL, + "status" text, + "score" bigint NOT NULL, + "lentAt" timestamp without time zone NOT NULL, + "lentBy" text NOT NULL, + "returnedAt" timestamp without time zone, + "receivedBy" text, + "pupilId" bigint NOT NULL, + "isbn" bigint NOT NULL, + "libraryBookId" bigint NOT NULL +); + +-- +-- Class PupilData as table pupil_data +-- +CREATE TABLE "pupil_data" ( + "id" bigserial PRIMARY KEY, + "status" text NOT NULL, + "internalId" bigint NOT NULL, + "password" text, + "preSchoolMedicalId" bigint, + "kindergardenId" bigint, + "kindergardenData" json, + "preSchoolTestId" bigint, + "avatarId" bigint, + "avatarAuthId" bigint, + "publicMediaAuth" json NOT NULL, + "publicMediaAuthDocumentId" bigint, + "contact" text, + "communicationPupil" json, + "specialInformation" text, + "tutorInfo" json, + "afterSchoolCare" json, + "credit" bigint NOT NULL, + "creditEarned" bigint NOT NULL, + "schoolyearHeldBackAt" timestamp without time zone, + "swimmer" text, + "_kindergardenPupilsKindergardenId" bigint +); + +-- Indexes +CREATE INDEX "pupil_data_status_idx" ON "pupil_data" USING btree ("status", "internalId"); +CREATE UNIQUE INDEX "pupil_data_internal_id_idx" ON "pupil_data" USING btree ("internalId"); + +-- +-- Class PupilListEntry as table pupil_list_entry +-- +CREATE TABLE "pupil_list_entry" ( + "id" bigserial PRIMARY KEY, + "status" boolean, + "comment" text, + "entryBy" text, + "schoolListId" bigint NOT NULL, + "pupilId" bigint NOT NULL +); + +-- +-- Class PupilWorkbook as table pupil_workbook +-- +CREATE TABLE "pupil_workbook" ( + "id" bigserial PRIMARY KEY, + "isbn" bigint NOT NULL, + "comment" text, + "score" bigint NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "finishedAt" timestamp without time zone, + "pupilId" bigint NOT NULL, + "workbookId" bigint NOT NULL +); + +-- +-- Class Classroom as table room +-- +CREATE TABLE "room" ( + "id" bigserial PRIMARY KEY, + "roomCode" text NOT NULL, + "roomName" text NOT NULL +); + +-- +-- Class ScheduledLesson as table scheduled_lesson +-- +CREATE TABLE "scheduled_lesson" ( + "id" bigserial PRIMARY KEY, + "active" boolean NOT NULL, + "subjectId" bigint NOT NULL, + "scheduledAtId" bigint NOT NULL, + "timetableSlotOrder" bigint NOT NULL, + "timetableId" bigint NOT NULL, + "mainTeacherId" bigint NOT NULL, + "lessonId" text NOT NULL, + "roomId" bigint NOT NULL, + "lessonGroupId" bigint NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modifiedBy" text, + "modifiedAt" timestamp without time zone, + "recordtest" json, + "_roomScheduledlessonsRoomId" bigint +); + +-- +-- Class ScheduledLessonTeacher as table scheduled_lesson_teacher +-- +CREATE TABLE "scheduled_lesson_teacher" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "scheduledLessonId" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "scheduled_lesson_teacher_unique_idx" ON "scheduled_lesson_teacher" USING btree ("userId", "scheduledLessonId"); + +-- +-- Class SchoolData as table school_data +-- +CREATE TABLE "school_data" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL, + "officialName" text NOT NULL, + "address" text NOT NULL, + "schoolNumber" text NOT NULL, + "telephoneNumber" text NOT NULL, + "email" text NOT NULL, + "website" text NOT NULL, + "logoId" bigint, + "officialSealId" bigint +); + +-- +-- Class SchoolList as table school_list +-- +CREATE TABLE "school_list" ( + "id" bigserial PRIMARY KEY, + "listId" text NOT NULL, + "archived" boolean NOT NULL, + "name" text NOT NULL, + "description" text NOT NULL, + "createdBy" text NOT NULL, + "public" boolean NOT NULL, + "authorizedUsers" text +); + +-- +-- Class SchoolSemester as table school_semester +-- +CREATE TABLE "school_semester" ( + "id" bigserial PRIMARY KEY, + "schoolYear" text NOT NULL, + "isFirst" boolean NOT NULL, + "startDate" timestamp without time zone NOT NULL, + "endDate" timestamp without time zone NOT NULL, + "classConferenceDate" timestamp without time zone, + "supportConferenceDate" timestamp without time zone, + "reportConferenceDate" timestamp without time zone, + "reportSignedDate" timestamp without time zone +); + +-- +-- Class Schoolday as table schoolday +-- +CREATE TABLE "schoolday" ( + "id" bigserial PRIMARY KEY, + "schoolday" timestamp without time zone NOT NULL, + "schoolSemesterId" bigint NOT NULL +); + +-- +-- Class SchooldayEvent as table schoolday_event +-- +CREATE TABLE "schoolday_event" ( + "id" bigserial PRIMARY KEY, + "eventId" text NOT NULL, + "eventType" text NOT NULL, + "eventReason" text NOT NULL, + "createdBy" text NOT NULL, + "processed" boolean NOT NULL, + "processedBy" text, + "processedAt" timestamp without time zone, + "documentId" bigint, + "processedDocumentId" bigint, + "schooldayId" bigint NOT NULL, + "pupilId" bigint NOT NULL +); + +-- +-- Class Subject as table subject +-- +CREATE TABLE "subject" ( + "id" bigserial PRIMARY KEY, + "publicId" text NOT NULL, + "name" text NOT NULL, + "description" text, + "color" text, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modifiedBy" text NOT NULL +); + +-- +-- Class SupportCategory as table support_category +-- +CREATE TABLE "support_category" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL, + "categoryId" bigint NOT NULL, + "parentCategory" bigint +); + +-- +-- Class SupportGoal as table support_category_goal +-- +CREATE TABLE "support_category_goal" ( + "id" bigserial PRIMARY KEY, + "goalId" text NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "score" bigint NOT NULL, + "achievedAt" timestamp without time zone, + "description" text NOT NULL, + "strategies" text NOT NULL, + "pupilId" bigint NOT NULL, + "supportCategoryId" bigint NOT NULL, + "_learningSupportPlanSupportgoalsLearningSupportPlanId" bigint, + "_supportCategoryCategorygoalsSupportCategoryId" bigint, + "_pupilDataSupportgoalsPupilDataId" bigint +); + +-- +-- Class SupportCategoryStatus as table support_category_status +-- +CREATE TABLE "support_category_status" ( + "id" bigserial PRIMARY KEY, + "score" bigint NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "comment" text NOT NULL, + "pupilId" bigint NOT NULL, + "supportCategoryId" bigint NOT NULL, + "learningSupportPlanId" bigint NOT NULL, + "_learningSupportPlanSupportcategorystatusesLearningSupporfb7bId" bigint, + "_supportCategoryCategorystatuesSupportCategoryId" bigint, + "_pupilDataSupportcategorystatusesPupilDataId" bigint +); + +-- +-- Class SupportGoalCheck as table support_goal_check +-- +CREATE TABLE "support_goal_check" ( + "id" bigserial PRIMARY KEY, + "checkId" text NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "score" bigint NOT NULL, + "comment" text NOT NULL, + "supportGoalId" bigint NOT NULL, + "_supportCategoryGoalGoalchecksSupportCategoryGoalId" bigint +); + +-- +-- Class SupportLevel as table support_level +-- +CREATE TABLE "support_level" ( + "id" bigserial PRIMARY KEY, + "level" bigint NOT NULL, + "comment" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "createdBy" text NOT NULL, + "pupilId" bigint NOT NULL +); + +-- +-- Class Timetable as table timetable +-- +CREATE TABLE "timetable" ( + "id" bigserial PRIMARY KEY, + "active" boolean NOT NULL, + "startsAt" timestamp without time zone NOT NULL, + "endsAt" timestamp without time zone, + "name" text NOT NULL, + "schoolSemesterId" bigint NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modified" json +); + +-- Indexes +CREATE INDEX "timetable_school_semester_idx" ON "timetable" USING btree ("schoolSemesterId"); + +-- +-- Class TimetableSlot as table timetable_slot +-- +CREATE TABLE "timetable_slot" ( + "id" bigserial PRIMARY KEY, + "day" text NOT NULL, + "startTime" text NOT NULL, + "endTime" text NOT NULL, + "timetableId" bigint NOT NULL +); + +-- +-- Class User as table user +-- +CREATE TABLE "user" ( + "id" bigserial PRIMARY KEY, + "userInfoId" bigint NOT NULL, + "role" text NOT NULL, + "matrixUserId" text, + "timeUnits" bigint NOT NULL, + "reliefTimeUnits" bigint NOT NULL, + "pupilsAuth" json, + "credit" bigint NOT NULL, + "userFlags" json NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "user_info_id_unique_idx" ON "user" USING btree ("userInfoId"); + +-- +-- Class UserDevice as table user_device +-- +CREATE TABLE "user_device" ( + "id" bigserial PRIMARY KEY, + "userInfoId" bigint NOT NULL, + "deviceId" text NOT NULL, + "deviceName" text NOT NULL, + "lastLogin" timestamp without time zone NOT NULL, + "isActive" boolean NOT NULL, + "authId" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "auth_key_user_device_idx" ON "user_device" USING btree ("authId"); + +-- +-- Class Workbook as table workbook +-- +CREATE TABLE "workbook" ( + "id" bigserial PRIMARY KEY, + "isbn" bigint NOT NULL, + "name" text NOT NULL, + "subject" text, + "level" text, + "amount" bigint, + "imageUrl" text NOT NULL +); + +-- +-- Class CloudStorageEntry as table serverpod_cloud_storage +-- +CREATE TABLE "serverpod_cloud_storage" ( + "id" bigserial PRIMARY KEY, + "storageId" text NOT NULL, + "path" text NOT NULL, + "addedTime" timestamp without time zone NOT NULL, + "expiration" timestamp without time zone, + "byteData" bytea NOT NULL, + "verified" boolean NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_cloud_storage_path_idx" ON "serverpod_cloud_storage" USING btree ("storageId", "path"); +CREATE INDEX "serverpod_cloud_storage_expiration" ON "serverpod_cloud_storage" USING btree ("expiration"); + +-- +-- Class CloudStorageDirectUploadEntry as table serverpod_cloud_storage_direct_upload +-- +CREATE TABLE "serverpod_cloud_storage_direct_upload" ( + "id" bigserial PRIMARY KEY, + "storageId" text NOT NULL, + "path" text NOT NULL, + "expiration" timestamp without time zone NOT NULL, + "authKey" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_cloud_storage_direct_upload_storage_path" ON "serverpod_cloud_storage_direct_upload" USING btree ("storageId", "path"); + +-- +-- Class FutureCallEntry as table serverpod_future_call +-- +CREATE TABLE "serverpod_future_call" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL, + "time" timestamp without time zone NOT NULL, + "serializedObject" text, + "serverId" text NOT NULL, + "identifier" text +); + +-- Indexes +CREATE INDEX "serverpod_future_call_time_idx" ON "serverpod_future_call" USING btree ("time"); +CREATE INDEX "serverpod_future_call_serverId_idx" ON "serverpod_future_call" USING btree ("serverId"); +CREATE INDEX "serverpod_future_call_identifier_idx" ON "serverpod_future_call" USING btree ("identifier"); + +-- +-- Class ServerHealthConnectionInfo as table serverpod_health_connection_info +-- +CREATE TABLE "serverpod_health_connection_info" ( + "id" bigserial PRIMARY KEY, + "serverId" text NOT NULL, + "timestamp" timestamp without time zone NOT NULL, + "active" bigint NOT NULL, + "closing" bigint NOT NULL, + "idle" bigint NOT NULL, + "granularity" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_health_connection_info_timestamp_idx" ON "serverpod_health_connection_info" USING btree ("timestamp", "serverId", "granularity"); + +-- +-- Class ServerHealthMetric as table serverpod_health_metric +-- +CREATE TABLE "serverpod_health_metric" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL, + "serverId" text NOT NULL, + "timestamp" timestamp without time zone NOT NULL, + "isHealthy" boolean NOT NULL, + "value" double precision NOT NULL, + "granularity" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_health_metric_timestamp_idx" ON "serverpod_health_metric" USING btree ("timestamp", "serverId", "name", "granularity"); + +-- +-- Class LogEntry as table serverpod_log +-- +CREATE TABLE "serverpod_log" ( + "id" bigserial PRIMARY KEY, + "sessionLogId" bigint NOT NULL, + "messageId" bigint, + "reference" text, + "serverId" text NOT NULL, + "time" timestamp without time zone NOT NULL, + "logLevel" bigint NOT NULL, + "message" text NOT NULL, + "error" text, + "stackTrace" text, + "order" bigint NOT NULL +); + +-- Indexes +CREATE INDEX "serverpod_log_sessionLogId_idx" ON "serverpod_log" USING btree ("sessionLogId"); + +-- +-- Class MessageLogEntry as table serverpod_message_log +-- +CREATE TABLE "serverpod_message_log" ( + "id" bigserial PRIMARY KEY, + "sessionLogId" bigint NOT NULL, + "serverId" text NOT NULL, + "messageId" bigint NOT NULL, + "endpoint" text NOT NULL, + "messageName" text NOT NULL, + "duration" double precision NOT NULL, + "error" text, + "stackTrace" text, + "slow" boolean NOT NULL, + "order" bigint NOT NULL +); + +-- +-- Class MethodInfo as table serverpod_method +-- +CREATE TABLE "serverpod_method" ( + "id" bigserial PRIMARY KEY, + "endpoint" text NOT NULL, + "method" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_method_endpoint_method_idx" ON "serverpod_method" USING btree ("endpoint", "method"); + +-- +-- Class DatabaseMigrationVersion as table serverpod_migrations +-- +CREATE TABLE "serverpod_migrations" ( + "id" bigserial PRIMARY KEY, + "module" text NOT NULL, + "version" text NOT NULL, + "timestamp" timestamp without time zone +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_migrations_ids" ON "serverpod_migrations" USING btree ("module"); + +-- +-- Class QueryLogEntry as table serverpod_query_log +-- +CREATE TABLE "serverpod_query_log" ( + "id" bigserial PRIMARY KEY, + "serverId" text NOT NULL, + "sessionLogId" bigint NOT NULL, + "messageId" bigint, + "query" text NOT NULL, + "duration" double precision NOT NULL, + "numRows" bigint, + "error" text, + "stackTrace" text, + "slow" boolean NOT NULL, + "order" bigint NOT NULL +); + +-- Indexes +CREATE INDEX "serverpod_query_log_sessionLogId_idx" ON "serverpod_query_log" USING btree ("sessionLogId"); + +-- +-- Class ReadWriteTestEntry as table serverpod_readwrite_test +-- +CREATE TABLE "serverpod_readwrite_test" ( + "id" bigserial PRIMARY KEY, + "number" bigint NOT NULL +); + +-- +-- Class RuntimeSettings as table serverpod_runtime_settings +-- +CREATE TABLE "serverpod_runtime_settings" ( + "id" bigserial PRIMARY KEY, + "logSettings" json NOT NULL, + "logSettingsOverrides" json NOT NULL, + "logServiceCalls" boolean NOT NULL, + "logMalformedCalls" boolean NOT NULL +); + +-- +-- Class SessionLogEntry as table serverpod_session_log +-- +CREATE TABLE "serverpod_session_log" ( + "id" bigserial PRIMARY KEY, + "serverId" text NOT NULL, + "time" timestamp without time zone NOT NULL, + "module" text, + "endpoint" text, + "method" text, + "duration" double precision, + "numQueries" bigint, + "slow" boolean, + "error" text, + "stackTrace" text, + "authenticatedUserId" bigint, + "isOpen" boolean, + "touched" timestamp without time zone NOT NULL +); + +-- Indexes +CREATE INDEX "serverpod_session_log_serverid_idx" ON "serverpod_session_log" USING btree ("serverId"); +CREATE INDEX "serverpod_session_log_touched_idx" ON "serverpod_session_log" USING btree ("touched"); +CREATE INDEX "serverpod_session_log_isopen_idx" ON "serverpod_session_log" USING btree ("isOpen"); + +-- +-- Class AuthKey as table serverpod_auth_key +-- +CREATE TABLE "serverpod_auth_key" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "hash" text NOT NULL, + "scopeNames" json NOT NULL, + "method" text NOT NULL +); + +-- Indexes +CREATE INDEX "serverpod_auth_key_userId_idx" ON "serverpod_auth_key" USING btree ("userId"); + +-- +-- Class EmailAuth as table serverpod_email_auth +-- +CREATE TABLE "serverpod_email_auth" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "email" text NOT NULL, + "hash" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_email_auth_email" ON "serverpod_email_auth" USING btree ("email"); + +-- +-- Class EmailCreateAccountRequest as table serverpod_email_create_request +-- +CREATE TABLE "serverpod_email_create_request" ( + "id" bigserial PRIMARY KEY, + "userName" text NOT NULL, + "email" text NOT NULL, + "hash" text NOT NULL, + "verificationCode" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_email_auth_create_account_request_idx" ON "serverpod_email_create_request" USING btree ("email"); + +-- +-- Class EmailFailedSignIn as table serverpod_email_failed_sign_in +-- +CREATE TABLE "serverpod_email_failed_sign_in" ( + "id" bigserial PRIMARY KEY, + "email" text NOT NULL, + "time" timestamp without time zone NOT NULL, + "ipAddress" text NOT NULL +); + +-- Indexes +CREATE INDEX "serverpod_email_failed_sign_in_email_idx" ON "serverpod_email_failed_sign_in" USING btree ("email"); +CREATE INDEX "serverpod_email_failed_sign_in_time_idx" ON "serverpod_email_failed_sign_in" USING btree ("time"); + +-- +-- Class EmailReset as table serverpod_email_reset +-- +CREATE TABLE "serverpod_email_reset" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "verificationCode" text NOT NULL, + "expiration" timestamp without time zone NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_email_reset_verification_idx" ON "serverpod_email_reset" USING btree ("verificationCode"); + +-- +-- Class GoogleRefreshToken as table serverpod_google_refresh_token +-- +CREATE TABLE "serverpod_google_refresh_token" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "refreshToken" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_google_refresh_token_userId_idx" ON "serverpod_google_refresh_token" USING btree ("userId"); + +-- +-- Class UserImage as table serverpod_user_image +-- +CREATE TABLE "serverpod_user_image" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "version" bigint NOT NULL, + "url" text NOT NULL +); + +-- Indexes +CREATE INDEX "serverpod_user_image_user_id" ON "serverpod_user_image" USING btree ("userId", "version"); + +-- +-- Class UserInfo as table serverpod_user_info +-- +CREATE TABLE "serverpod_user_info" ( + "id" bigserial PRIMARY KEY, + "userIdentifier" text NOT NULL, + "userName" text, + "fullName" text, + "email" text, + "created" timestamp without time zone NOT NULL, + "imageUrl" text, + "scopeNames" json NOT NULL, + "blocked" boolean NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_user_info_user_identifier" ON "serverpod_user_info" USING btree ("userIdentifier"); +CREATE INDEX "serverpod_user_info_email" ON "serverpod_user_info" USING btree ("email"); + +-- +-- Foreign relations for "book_tagging" table +-- +ALTER TABLE ONLY "book_tagging" + ADD CONSTRAINT "book_tagging_fk_0" + FOREIGN KEY("bookId") + REFERENCES "book"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "book_tagging" + ADD CONSTRAINT "book_tagging_fk_1" + FOREIGN KEY("bookTagId") + REFERENCES "book_tag"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "competence_check" table +-- +ALTER TABLE ONLY "competence_check" + ADD CONSTRAINT "competence_check_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "competence_check" + ADD CONSTRAINT "competence_check_fk_1" + FOREIGN KEY("competenceId") + REFERENCES "competence"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "competence_goal" table +-- +ALTER TABLE ONLY "competence_goal" + ADD CONSTRAINT "competence_goal_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "competence_goal" + ADD CONSTRAINT "competence_goal_fk_1" + FOREIGN KEY("competenceId") + REFERENCES "competence"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "competence_report" table +-- +ALTER TABLE ONLY "competence_report" + ADD CONSTRAINT "competence_report_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "competence_report" + ADD CONSTRAINT "competence_report_fk_1" + FOREIGN KEY("schoolSemesterId") + REFERENCES "school_semester"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "competence_report_check" table +-- +ALTER TABLE ONLY "competence_report_check" + ADD CONSTRAINT "competence_report_check_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "competence_report_check" + ADD CONSTRAINT "competence_report_check_fk_1" + FOREIGN KEY("competenceId") + REFERENCES "competence_report_item"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "competence_report_check" + ADD CONSTRAINT "competence_report_check_fk_2" + FOREIGN KEY("competenceReportId") + REFERENCES "competence_report"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "credit_transaction" table +-- +ALTER TABLE ONLY "credit_transaction" + ADD CONSTRAINT "credit_transaction_fk_0" + FOREIGN KEY("_pupilDataCredittransactionsPupilDataId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "hub_document" table +-- +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_0" + FOREIGN KEY("_pupilBookLendingPupilbooklendingfilesPupilBookLendingId") + REFERENCES "pupil_book_lending"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_1" + FOREIGN KEY("_competenceCheckDocumentsCompetenceCheckId") + REFERENCES "competence_check"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_2" + FOREIGN KEY("_competenceGoalDocumentsCompetenceGoalId") + REFERENCES "competence_goal"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_3" + FOREIGN KEY("_supportCategoryStatusDocumentsSupportCategoryStatusId") + REFERENCES "support_category_status"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_4" + FOREIGN KEY("_supportGoalCheckDocumentsSupportGoalCheckId") + REFERENCES "support_goal_check"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_5" + FOREIGN KEY("_preSchoolMedicalPreschoolmedicalfilesPreSchoolMedicalId") + REFERENCES "pre_school_medical"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_6" + FOREIGN KEY("_preSchoolTestPreschooltestdocumentsPreSchoolTestId") + REFERENCES "pre_school_test"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "learning_support_plan" table +-- +ALTER TABLE ONLY "learning_support_plan" + ADD CONSTRAINT "learning_support_plan_fk_0" + FOREIGN KEY("learningSupportLevelId") + REFERENCES "support_level"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "learning_support_plan" + ADD CONSTRAINT "learning_support_plan_fk_1" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "learning_support_plan" + ADD CONSTRAINT "learning_support_plan_fk_2" + FOREIGN KEY("schoolSemesterId") + REFERENCES "school_semester"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "lesson" table +-- +ALTER TABLE ONLY "lesson" + ADD CONSTRAINT "lesson_fk_0" + FOREIGN KEY("subjectId") + REFERENCES "subject"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "lesson_attendance" table +-- +ALTER TABLE ONLY "lesson_attendance" + ADD CONSTRAINT "lesson_attendance_fk_0" + FOREIGN KEY("lessonId") + REFERENCES "lesson"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "lesson_attendance" + ADD CONSTRAINT "lesson_attendance_fk_1" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "lesson_group" table +-- +ALTER TABLE ONLY "lesson_group" + ADD CONSTRAINT "lesson_group_fk_0" + FOREIGN KEY("timetableId") + REFERENCES "timetable"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "lesson_group_pupil" table +-- +ALTER TABLE ONLY "lesson_group_pupil" + ADD CONSTRAINT "lesson_group_pupil_fk_0" + FOREIGN KEY("lessonGroupId") + REFERENCES "lesson_group"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "lesson_group_pupil" + ADD CONSTRAINT "lesson_group_pupil_fk_1" + FOREIGN KEY("pupilDataId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "lesson_teacher" table +-- +ALTER TABLE ONLY "lesson_teacher" + ADD CONSTRAINT "lesson_teacher_fk_0" + FOREIGN KEY("userId") + REFERENCES "user"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "lesson_teacher" + ADD CONSTRAINT "lesson_teacher_fk_1" + FOREIGN KEY("scheduledLessonId") + REFERENCES "lesson"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "library_book" table +-- +ALTER TABLE ONLY "library_book" + ADD CONSTRAINT "library_book_fk_0" + FOREIGN KEY("bookId") + REFERENCES "book"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "library_book" + ADD CONSTRAINT "library_book_fk_1" + FOREIGN KEY("locationId") + REFERENCES "library_book_location"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "missed_class" table +-- +ALTER TABLE ONLY "missed_class" + ADD CONSTRAINT "missed_class_fk_0" + FOREIGN KEY("schooldayId") + REFERENCES "schoolday"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; +ALTER TABLE ONLY "missed_class" + ADD CONSTRAINT "missed_class_fk_1" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "pupil_authorization" table +-- +ALTER TABLE ONLY "pupil_authorization" + ADD CONSTRAINT "pupil_authorization_fk_0" + FOREIGN KEY("fileId") + REFERENCES "hub_document"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_authorization" + ADD CONSTRAINT "pupil_authorization_fk_1" + FOREIGN KEY("authorizationId") + REFERENCES "authorization"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_authorization" + ADD CONSTRAINT "pupil_authorization_fk_2" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "pupil_book_lending" table +-- +ALTER TABLE ONLY "pupil_book_lending" + ADD CONSTRAINT "pupil_book_lending_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_book_lending" + ADD CONSTRAINT "pupil_book_lending_fk_1" + FOREIGN KEY("libraryBookId") + REFERENCES "library_book"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "pupil_data" table +-- +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_0" + FOREIGN KEY("preSchoolMedicalId") + REFERENCES "pre_school_medical"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_1" + FOREIGN KEY("kindergardenId") + REFERENCES "kindergarden"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_2" + FOREIGN KEY("preSchoolTestId") + REFERENCES "pre_school_test"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_3" + FOREIGN KEY("avatarId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_4" + FOREIGN KEY("avatarAuthId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_5" + FOREIGN KEY("publicMediaAuthDocumentId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_6" + FOREIGN KEY("_kindergardenPupilsKindergardenId") + REFERENCES "kindergarden"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "pupil_list_entry" table +-- +ALTER TABLE ONLY "pupil_list_entry" + ADD CONSTRAINT "pupil_list_entry_fk_0" + FOREIGN KEY("schoolListId") + REFERENCES "school_list"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_list_entry" + ADD CONSTRAINT "pupil_list_entry_fk_1" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "pupil_workbook" table +-- +ALTER TABLE ONLY "pupil_workbook" + ADD CONSTRAINT "pupil_workbook_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_workbook" + ADD CONSTRAINT "pupil_workbook_fk_1" + FOREIGN KEY("workbookId") + REFERENCES "workbook"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "scheduled_lesson" table +-- +ALTER TABLE ONLY "scheduled_lesson" + ADD CONSTRAINT "scheduled_lesson_fk_0" + FOREIGN KEY("subjectId") + REFERENCES "subject"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "scheduled_lesson" + ADD CONSTRAINT "scheduled_lesson_fk_1" + FOREIGN KEY("scheduledAtId") + REFERENCES "timetable_slot"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "scheduled_lesson" + ADD CONSTRAINT "scheduled_lesson_fk_2" + FOREIGN KEY("timetableId") + REFERENCES "timetable"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "scheduled_lesson" + ADD CONSTRAINT "scheduled_lesson_fk_3" + FOREIGN KEY("roomId") + REFERENCES "room"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "scheduled_lesson" + ADD CONSTRAINT "scheduled_lesson_fk_4" + FOREIGN KEY("lessonGroupId") + REFERENCES "lesson_group"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "scheduled_lesson" + ADD CONSTRAINT "scheduled_lesson_fk_5" + FOREIGN KEY("_roomScheduledlessonsRoomId") + REFERENCES "room"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "scheduled_lesson_teacher" table +-- +ALTER TABLE ONLY "scheduled_lesson_teacher" + ADD CONSTRAINT "scheduled_lesson_teacher_fk_0" + FOREIGN KEY("userId") + REFERENCES "user"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "scheduled_lesson_teacher" + ADD CONSTRAINT "scheduled_lesson_teacher_fk_1" + FOREIGN KEY("scheduledLessonId") + REFERENCES "scheduled_lesson"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "school_data" table +-- +ALTER TABLE ONLY "school_data" + ADD CONSTRAINT "school_data_fk_0" + FOREIGN KEY("logoId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "school_data" + ADD CONSTRAINT "school_data_fk_1" + FOREIGN KEY("officialSealId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "schoolday" table +-- +ALTER TABLE ONLY "schoolday" + ADD CONSTRAINT "schoolday_fk_0" + FOREIGN KEY("schoolSemesterId") + REFERENCES "school_semester"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "schoolday_event" table +-- +ALTER TABLE ONLY "schoolday_event" + ADD CONSTRAINT "schoolday_event_fk_0" + FOREIGN KEY("documentId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "schoolday_event" + ADD CONSTRAINT "schoolday_event_fk_1" + FOREIGN KEY("processedDocumentId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "schoolday_event" + ADD CONSTRAINT "schoolday_event_fk_2" + FOREIGN KEY("schooldayId") + REFERENCES "schoolday"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "schoolday_event" + ADD CONSTRAINT "schoolday_event_fk_3" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "support_category_goal" table +-- +ALTER TABLE ONLY "support_category_goal" + ADD CONSTRAINT "support_category_goal_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_goal" + ADD CONSTRAINT "support_category_goal_fk_1" + FOREIGN KEY("supportCategoryId") + REFERENCES "support_category"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_goal" + ADD CONSTRAINT "support_category_goal_fk_2" + FOREIGN KEY("_learningSupportPlanSupportgoalsLearningSupportPlanId") + REFERENCES "learning_support_plan"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_goal" + ADD CONSTRAINT "support_category_goal_fk_3" + FOREIGN KEY("_supportCategoryCategorygoalsSupportCategoryId") + REFERENCES "support_category"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_goal" + ADD CONSTRAINT "support_category_goal_fk_4" + FOREIGN KEY("_pupilDataSupportgoalsPupilDataId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "support_category_status" table +-- +ALTER TABLE ONLY "support_category_status" + ADD CONSTRAINT "support_category_status_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_status" + ADD CONSTRAINT "support_category_status_fk_1" + FOREIGN KEY("supportCategoryId") + REFERENCES "support_category"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_status" + ADD CONSTRAINT "support_category_status_fk_2" + FOREIGN KEY("learningSupportPlanId") + REFERENCES "learning_support_plan"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_status" + ADD CONSTRAINT "support_category_status_fk_3" + FOREIGN KEY("_learningSupportPlanSupportcategorystatusesLearningSupporfb7bId") + REFERENCES "learning_support_plan"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_status" + ADD CONSTRAINT "support_category_status_fk_4" + FOREIGN KEY("_supportCategoryCategorystatuesSupportCategoryId") + REFERENCES "support_category"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_status" + ADD CONSTRAINT "support_category_status_fk_5" + FOREIGN KEY("_pupilDataSupportcategorystatusesPupilDataId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "support_goal_check" table +-- +ALTER TABLE ONLY "support_goal_check" + ADD CONSTRAINT "support_goal_check_fk_0" + FOREIGN KEY("supportGoalId") + REFERENCES "support_category_goal"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_goal_check" + ADD CONSTRAINT "support_goal_check_fk_1" + FOREIGN KEY("_supportCategoryGoalGoalchecksSupportCategoryGoalId") + REFERENCES "support_category_goal"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "support_level" table +-- +ALTER TABLE ONLY "support_level" + ADD CONSTRAINT "support_level_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "timetable" table +-- +ALTER TABLE ONLY "timetable" + ADD CONSTRAINT "timetable_fk_0" + FOREIGN KEY("schoolSemesterId") + REFERENCES "school_semester"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "timetable_slot" table +-- +ALTER TABLE ONLY "timetable_slot" + ADD CONSTRAINT "timetable_slot_fk_0" + FOREIGN KEY("timetableId") + REFERENCES "timetable"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "user" table +-- +ALTER TABLE ONLY "user" + ADD CONSTRAINT "user_fk_0" + FOREIGN KEY("userInfoId") + REFERENCES "serverpod_user_info"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "user_device" table +-- +ALTER TABLE ONLY "user_device" + ADD CONSTRAINT "user_device_fk_0" + FOREIGN KEY("userInfoId") + REFERENCES "serverpod_user_info"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "user_device" + ADD CONSTRAINT "user_device_fk_1" + FOREIGN KEY("authId") + REFERENCES "serverpod_auth_key"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "serverpod_log" table +-- +ALTER TABLE ONLY "serverpod_log" + ADD CONSTRAINT "serverpod_log_fk_0" + FOREIGN KEY("sessionLogId") + REFERENCES "serverpod_session_log"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "serverpod_message_log" table +-- +ALTER TABLE ONLY "serverpod_message_log" + ADD CONSTRAINT "serverpod_message_log_fk_0" + FOREIGN KEY("sessionLogId") + REFERENCES "serverpod_session_log"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "serverpod_query_log" table +-- +ALTER TABLE ONLY "serverpod_query_log" + ADD CONSTRAINT "serverpod_query_log_fk_0" + FOREIGN KEY("sessionLogId") + REFERENCES "serverpod_session_log"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + + +-- +-- MIGRATION VERSION FOR school_data_hub +-- +INSERT INTO "serverpod_migrations" ("module", "version", "timestamp") + VALUES ('school_data_hub', '20251121184735230', now()) + ON CONFLICT ("module") + DO UPDATE SET "version" = '20251121184735230', "timestamp" = now(); + +-- +-- MIGRATION VERSION FOR serverpod +-- +INSERT INTO "serverpod_migrations" ("module", "version", "timestamp") + VALUES ('serverpod', '20240516151843329', now()) + ON CONFLICT ("module") + DO UPDATE SET "version" = '20240516151843329', "timestamp" = now(); + +-- +-- MIGRATION VERSION FOR serverpod_auth +-- +INSERT INTO "serverpod_migrations" ("module", "version", "timestamp") + VALUES ('serverpod_auth', '20240520102713718', now()) + ON CONFLICT ("module") + DO UPDATE SET "version" = '20240520102713718', "timestamp" = now(); + + +COMMIT; diff --git a/school_data_hub_server/migrations/20251121184735230/definition_project.json b/school_data_hub_server/migrations/20251121184735230/definition_project.json new file mode 100644 index 00000000..f705ec57 --- /dev/null +++ b/school_data_hub_server/migrations/20251121184735230/definition_project.json @@ -0,0 +1,4827 @@ +{ + "moduleName": "school_data_hub", + "tables": [ + { + "name": "authorization", + "dartName": "Authorization", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('authorization_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "authorization_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "book", + "dartName": "Book", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('book_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "title", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "author", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "readingLevel", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "imagePath", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "book_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "book_id_unique_idx", + "elements": [ + { + "type": 0, + "definition": "isbn" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "book_tag", + "dartName": "BookTag", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('book_tag_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "book_tag_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "book_tagging", + "dartName": "BookTagging", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('book_tagging_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "bookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "bookTagId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "book_tagging_fk_0", + "columns": [ + "bookId" + ], + "referenceTable": "book", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "book_tagging_fk_1", + "columns": [ + "bookTagId" + ], + "referenceTable": "book_tag", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "book_tagging_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "book_tagging_index_idx", + "elements": [ + { + "type": 0, + "definition": "bookId" + }, + { + "type": 0, + "definition": "bookTagId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "competence", + "dartName": "Competence", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "parentCompetence", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "level", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "indicators", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "order", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "competence_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_check", + "dartName": "CompetenceCheck", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_check_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "checkId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "valueFactor", + "columnType": 3, + "isNullable": false, + "dartType": "double" + }, + { + "name": "groupCheckId", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "groupCheckName", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_check_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_check_fk_1", + "columns": [ + "competenceId" + ], + "referenceTable": "competence", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_check_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_goal", + "dartName": "CompetenceGoal", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_goal_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "strategies", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "score", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "achievedAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_goal_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_goal_fk_1", + "columns": [ + "competenceId" + ], + "referenceTable": "competence", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_goal_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_report", + "dartName": "CompetenceReport", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_report_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "reportId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "achievement", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "achievedAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_report_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_report_fk_1", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_report_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_report_check", + "dartName": "CompetenceReportCheck", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_report_check_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "achievement", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceReportId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_report_check_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_report_check_fk_1", + "columns": [ + "competenceId" + ], + "referenceTable": "competence_report_item", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_report_check_fk_2", + "columns": [ + "competenceReportId" + ], + "referenceTable": "competence_report", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_report_check_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_report_item", + "dartName": "CompetenceReportItem", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_report_item_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "parentItem", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "level", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "order", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "competence_report_item_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "compulsory_room", + "dartName": "CompulsoryRoom", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('compulsory_room_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "roomId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "roomType", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:MatrixRoomType" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "compulsory_room_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "credit_transaction", + "dartName": "CreditTransaction", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('credit_transaction_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "sender", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "receiver", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "amount", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "dateTime", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "description", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "_pupilDataCredittransactionsPupilDataId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "credit_transaction_fk_0", + "columns": [ + "_pupilDataCredittransactionsPupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "credit_transaction_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "reciever_idx", + "elements": [ + { + "type": 0, + "definition": "receiver" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "sender_idx", + "elements": [ + { + "type": 0, + "definition": "sender" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "hub_document", + "dartName": "HubDocument", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('hub_document_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "documentId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "documentPath", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "_pupilBookLendingPupilbooklendingfilesPupilBookLendingId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_competenceCheckDocumentsCompetenceCheckId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_competenceGoalDocumentsCompetenceGoalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportCategoryStatusDocumentsSupportCategoryStatusId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportGoalCheckDocumentsSupportGoalCheckId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_preSchoolMedicalPreschoolmedicalfilesPreSchoolMedicalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_preSchoolTestPreschooltestdocumentsPreSchoolTestId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "hub_document_fk_0", + "columns": [ + "_pupilBookLendingPupilbooklendingfilesPupilBookLendingId" + ], + "referenceTable": "pupil_book_lending", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_1", + "columns": [ + "_competenceCheckDocumentsCompetenceCheckId" + ], + "referenceTable": "competence_check", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_2", + "columns": [ + "_competenceGoalDocumentsCompetenceGoalId" + ], + "referenceTable": "competence_goal", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_3", + "columns": [ + "_supportCategoryStatusDocumentsSupportCategoryStatusId" + ], + "referenceTable": "support_category_status", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_4", + "columns": [ + "_supportGoalCheckDocumentsSupportGoalCheckId" + ], + "referenceTable": "support_goal_check", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_5", + "columns": [ + "_preSchoolMedicalPreschoolmedicalfilesPreSchoolMedicalId" + ], + "referenceTable": "pre_school_medical", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_6", + "columns": [ + "_preSchoolTestPreschooltestdocumentsPreSchoolTestId" + ], + "referenceTable": "pre_school_test", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "hub_document_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "kindergarden", + "dartName": "Kindergarden", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('kindergarden_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "phone", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "address", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "contactPerson", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "kindergarden_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "last_pupil_identities_update", + "dartName": "LastPupilIdentiesUpdate", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('last_pupil_identities_update_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "date", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "last_pupil_identities_update_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "learning_support_plan", + "dartName": "LearningSupportPlan", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('learning_support_plan_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "planId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "number", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "socialPedagogue", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "proffesionalsInvolved", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "strengthsDescription", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "problemsDescription", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "learningSupportLevelId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "learning_support_plan_fk_0", + "columns": [ + "learningSupportLevelId" + ], + "referenceTable": "support_level", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "learning_support_plan_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "learning_support_plan_fk_2", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "learning_support_plan_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson", + "dartName": "Lesson", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "subjectId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_fk_0", + "columns": [ + "subjectId" + ], + "referenceTable": "subject", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson_attendance", + "dartName": "LessonAttendance", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_attendance_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "lessonId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "modifiedAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_attendance_fk_0", + "columns": [ + "lessonId" + ], + "referenceTable": "lesson", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "lesson_attendance_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_attendance_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson_group", + "dartName": "LessonGroup", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_group_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "color", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "timetableId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "modifiedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_group_fk_0", + "columns": [ + "timetableId" + ], + "referenceTable": "timetable", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_group_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson_group_pupil", + "dartName": "ScheduledLessonGroupMembership", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_group_pupil_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "lessonGroupId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilDataId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_group_pupil_fk_0", + "columns": [ + "lessonGroupId" + ], + "referenceTable": "lesson_group", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "lesson_group_pupil_fk_1", + "columns": [ + "pupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_group_pupil_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "lesson_group_membership_index_idx", + "elements": [ + { + "type": 0, + "definition": "lessonGroupId" + }, + { + "type": 0, + "definition": "pupilDataId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "lesson_teacher", + "dartName": "LessonTeacher", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_teacher_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "scheduledLessonId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_teacher_fk_0", + "columns": [ + "userId" + ], + "referenceTable": "user", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "lesson_teacher_fk_1", + "columns": [ + "scheduledLessonId" + ], + "referenceTable": "lesson", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_teacher_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "lesson_teacher_unique_idx", + "elements": [ + { + "type": 0, + "definition": "userId" + }, + { + "type": 0, + "definition": "scheduledLessonId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "library_book", + "dartName": "LibraryBook", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('library_book_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "libraryId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "bookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "locationId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "available", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + } + ], + "foreignKeys": [ + { + "constraintName": "library_book_fk_0", + "columns": [ + "bookId" + ], + "referenceTable": "book", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "library_book_fk_1", + "columns": [ + "locationId" + ], + "referenceTable": "library_book_location", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "library_book_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "library_id_unique_idx", + "elements": [ + { + "type": 0, + "definition": "libraryId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "library_book_location", + "dartName": "LibraryBookLocation", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('library_book_location_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "location", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "library_book_location_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "location_unique_idx", + "elements": [ + { + "type": 0, + "definition": "location" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "missed_class", + "dartName": "MissedSchoolday", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('missed_class_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "missedType", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:MissedType" + }, + { + "name": "unexcused", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "contacted", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:ContactedType" + }, + { + "name": "returned", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "returnedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "writtenExcuse", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "minutesLate", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "schooldayId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "missed_class_fk_0", + "columns": [ + "schooldayId" + ], + "referenceTable": "schoolday", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "missed_class_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "missed_class_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "schoolday_pupil_data_idx", + "elements": [ + { + "type": 0, + "definition": "schooldayId" + }, + { + "type": 0, + "definition": "pupilId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "pre_school_medical", + "dartName": "PreSchoolMedical", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pre_school_medical_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "preschoolMedicalStatus", + "columnType": 0, + "isNullable": true, + "dartType": "protocol:PreSchoolMedicalStatus?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "updatedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "updatedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "pre_school_medical_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pre_school_test", + "dartName": "PreSchoolTest", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pre_school_test_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "careNeedsIntensity", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "pre_school_test_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_authorization", + "dartName": "PupilAuthorization", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_authorization_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "status", + "columnType": 1, + "isNullable": true, + "dartType": "bool?" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "fileId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "authorizationId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_authorization_fk_0", + "columns": [ + "fileId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "pupil_authorization_fk_1", + "columns": [ + "authorizationId" + ], + "referenceTable": "authorization", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_authorization_fk_2", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "pupil_authorization_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_book_lending", + "dartName": "PupilBookLending", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_book_lending_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "lendingId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "status", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "lentAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "lentBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "returnedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "receivedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "libraryBookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_book_lending_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_book_lending_fk_1", + "columns": [ + "libraryBookId" + ], + "referenceTable": "library_book", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "pupil_book_lending_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_data", + "dartName": "PupilData", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_data_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "status", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:PupilStatus" + }, + { + "name": "internalId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "password", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "preSchoolMedicalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "kindergardenId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "kindergardenData", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:KindergardenInfo?" + }, + { + "name": "preSchoolTestId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "avatarId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "avatarAuthId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "publicMediaAuth", + "columnType": 8, + "isNullable": false, + "dartType": "protocol:PublicMediaAuth" + }, + { + "name": "publicMediaAuthDocumentId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "contact", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "communicationPupil", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:CommunicationSkills?" + }, + { + "name": "specialInformation", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "tutorInfo", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:TutorInfo?" + }, + { + "name": "afterSchoolCare", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:AfterSchoolCare?" + }, + { + "name": "credit", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "creditEarned", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "schoolyearHeldBackAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "swimmer", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "_kindergardenPupilsKindergardenId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_data_fk_0", + "columns": [ + "preSchoolMedicalId" + ], + "referenceTable": "pre_school_medical", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_1", + "columns": [ + "kindergardenId" + ], + "referenceTable": "kindergarden", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_2", + "columns": [ + "preSchoolTestId" + ], + "referenceTable": "pre_school_test", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_3", + "columns": [ + "avatarId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_4", + "columns": [ + "avatarAuthId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_5", + "columns": [ + "publicMediaAuthDocumentId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_6", + "columns": [ + "_kindergardenPupilsKindergardenId" + ], + "referenceTable": "kindergarden", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "pupil_data_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "pupil_data_status_idx", + "elements": [ + { + "type": 0, + "definition": "status" + }, + { + "type": 0, + "definition": "internalId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "pupil_data_internal_id_idx", + "elements": [ + { + "type": 0, + "definition": "internalId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "pupil_list_entry", + "dartName": "PupilListEntry", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_list_entry_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "status", + "columnType": 1, + "isNullable": true, + "dartType": "bool?" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "entryBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "schoolListId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_list_entry_fk_0", + "columns": [ + "schoolListId" + ], + "referenceTable": "school_list", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "pupil_list_entry_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "pupil_list_entry_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_workbook", + "dartName": "PupilWorkbook", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_workbook_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "finishedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "workbookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_workbook_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "pupil_workbook_fk_1", + "columns": [ + "workbookId" + ], + "referenceTable": "workbook", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "pupil_workbook_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "room", + "dartName": "Classroom", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('room_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "roomCode", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "roomName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "room_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "scheduled_lesson", + "dartName": "ScheduledLesson", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('scheduled_lesson_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "active", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "subjectId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "scheduledAtId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "timetableSlotOrder", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "timetableId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "mainTeacherId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "lessonId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "roomId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "lessonGroupId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "modifiedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "recordtest", + "columnType": 8, + "isNullable": true, + "dartType": "( {int testint, String testString})?" + }, + { + "name": "_roomScheduledlessonsRoomId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "scheduled_lesson_fk_0", + "columns": [ + "subjectId" + ], + "referenceTable": "subject", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_1", + "columns": [ + "scheduledAtId" + ], + "referenceTable": "timetable_slot", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_2", + "columns": [ + "timetableId" + ], + "referenceTable": "timetable", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_3", + "columns": [ + "roomId" + ], + "referenceTable": "room", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_4", + "columns": [ + "lessonGroupId" + ], + "referenceTable": "lesson_group", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_5", + "columns": [ + "_roomScheduledlessonsRoomId" + ], + "referenceTable": "room", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "scheduled_lesson_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "scheduled_lesson_teacher", + "dartName": "ScheduledLessonTeacher", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('scheduled_lesson_teacher_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "scheduledLessonId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "scheduled_lesson_teacher_fk_0", + "columns": [ + "userId" + ], + "referenceTable": "user", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_teacher_fk_1", + "columns": [ + "scheduledLessonId" + ], + "referenceTable": "scheduled_lesson", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "scheduled_lesson_teacher_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "scheduled_lesson_teacher_unique_idx", + "elements": [ + { + "type": 0, + "definition": "userId" + }, + { + "type": 0, + "definition": "scheduledLessonId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "school_data", + "dartName": "SchoolData", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('school_data_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "officialName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "address", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "schoolNumber", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "telephoneNumber", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "website", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "logoId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "officialSealId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "school_data_fk_0", + "columns": [ + "logoId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "school_data_fk_1", + "columns": [ + "officialSealId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "school_data_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "school_list", + "dartName": "SchoolList", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('school_list_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "listId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "archived", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "public", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "authorizedUsers", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "school_list_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "school_semester", + "dartName": "SchoolSemester", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('school_semester_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "schoolYear", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "isFirst", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "startDate", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "endDate", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "classConferenceDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "supportConferenceDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "reportConferenceDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "reportSignedDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "school_semester_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "schoolday", + "dartName": "Schoolday", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('schoolday_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "schoolday", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "schoolday_fk_0", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "schoolday_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "schoolday_event", + "dartName": "SchooldayEvent", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('schoolday_event_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "eventId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "eventType", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:SchooldayEventType" + }, + { + "name": "eventReason", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "processed", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "processedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "processedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "documentId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "processedDocumentId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "schooldayId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "schoolday_event_fk_0", + "columns": [ + "documentId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "schoolday_event_fk_1", + "columns": [ + "processedDocumentId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "schoolday_event_fk_2", + "columns": [ + "schooldayId" + ], + "referenceTable": "schoolday", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "schoolday_event_fk_3", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "schoolday_event_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "subject", + "dartName": "Subject", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('subject_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "color", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "subject_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_category", + "dartName": "SupportCategory", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_category_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "categoryId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "parentCategory", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "support_category_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_category_goal", + "dartName": "SupportGoal", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_category_goal_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "goalId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "achievedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "strategies", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "supportCategoryId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "_learningSupportPlanSupportgoalsLearningSupportPlanId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportCategoryCategorygoalsSupportCategoryId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_pupilDataSupportgoalsPupilDataId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "support_category_goal_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_goal_fk_1", + "columns": [ + "supportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "support_category_goal_fk_2", + "columns": [ + "_learningSupportPlanSupportgoalsLearningSupportPlanId" + ], + "referenceTable": "learning_support_plan", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_goal_fk_3", + "columns": [ + "_supportCategoryCategorygoalsSupportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_goal_fk_4", + "columns": [ + "_pupilDataSupportgoalsPupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "support_category_goal_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_category_status", + "dartName": "SupportCategoryStatus", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_category_status_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "supportCategoryId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "learningSupportPlanId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "_learningSupportPlanSupportcategorystatusesLearningSupporfb7bId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportCategoryCategorystatuesSupportCategoryId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_pupilDataSupportcategorystatusesPupilDataId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "support_category_status_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_1", + "columns": [ + "supportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_2", + "columns": [ + "learningSupportPlanId" + ], + "referenceTable": "learning_support_plan", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_3", + "columns": [ + "_learningSupportPlanSupportcategorystatusesLearningSupporfb7bId" + ], + "referenceTable": "learning_support_plan", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_4", + "columns": [ + "_supportCategoryCategorystatuesSupportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_5", + "columns": [ + "_pupilDataSupportcategorystatusesPupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "support_category_status_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_goal_check", + "dartName": "SupportGoalCheck", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_goal_check_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "checkId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "supportGoalId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "_supportCategoryGoalGoalchecksSupportCategoryGoalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "support_goal_check_fk_0", + "columns": [ + "supportGoalId" + ], + "referenceTable": "support_category_goal", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "support_goal_check_fk_1", + "columns": [ + "_supportCategoryGoalGoalchecksSupportCategoryGoalId" + ], + "referenceTable": "support_category_goal", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "support_goal_check_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_level", + "dartName": "SupportLevel", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_level_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "level", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "support_level_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "support_level_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "timetable", + "dartName": "Timetable", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('timetable_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "active", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "startsAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "endsAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modified", + "columnType": 8, + "isNullable": true, + "dartType": "List<( {String modifiedBy, DateTime modifiedAt})>?" + } + ], + "foreignKeys": [ + { + "constraintName": "timetable_fk_0", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "timetable_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "timetable_school_semester_idx", + "elements": [ + { + "type": 0, + "definition": "schoolSemesterId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "timetable_slot", + "dartName": "TimetableSlot", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('timetable_slot_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "day", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:Weekday" + }, + { + "name": "startTime", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "endTime", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "timetableId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "timetable_slot_fk_0", + "columns": [ + "timetableId" + ], + "referenceTable": "timetable", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "timetable_slot_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "user", + "dartName": "User", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('user_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userInfoId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "role", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:Role" + }, + { + "name": "matrixUserId", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "timeUnits", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "reliefTimeUnits", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilsAuth", + "columnType": 8, + "isNullable": true, + "dartType": "Set<int>?" + }, + { + "name": "credit", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "userFlags", + "columnType": 8, + "isNullable": false, + "dartType": "protocol:UserFlags" + } + ], + "foreignKeys": [ + { + "constraintName": "user_fk_0", + "columns": [ + "userInfoId" + ], + "referenceTable": "serverpod_user_info", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "user_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "user_info_id_unique_idx", + "elements": [ + { + "type": 0, + "definition": "userInfoId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "user_device", + "dartName": "UserDevice", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('user_device_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userInfoId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "deviceId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "deviceName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "lastLogin", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "isActive", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "authId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "user_device_fk_0", + "columns": [ + "userInfoId" + ], + "referenceTable": "serverpod_user_info", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "user_device_fk_1", + "columns": [ + "authId" + ], + "referenceTable": "serverpod_auth_key", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "user_device_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "auth_key_user_device_idx", + "elements": [ + { + "type": 0, + "definition": "authId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "workbook", + "dartName": "Workbook", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('workbook_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "subject", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "level", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "amount", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "imageUrl", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "workbook_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + } + ], + "installedModules": [ + { + "module": "serverpod", + "version": "20240516151843329" + }, + { + "module": "serverpod_auth", + "version": "20240520102713718" + } + ], + "migrationApiVersion": 1 +} \ No newline at end of file diff --git a/school_data_hub_server/migrations/20251121184735230/migration.json b/school_data_hub_server/migrations/20251121184735230/migration.json new file mode 100644 index 00000000..d8ba4f95 --- /dev/null +++ b/school_data_hub_server/migrations/20251121184735230/migration.json @@ -0,0 +1,28 @@ +{ + "actions": [ + { + "type": "alterTable", + "alterTable": { + "name": "user", + "schema": "public", + "addColumns": [ + { + "name": "matrixUserId", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + } + ], + "deleteColumns": [], + "modifyColumns": [], + "addIndexes": [], + "deleteIndexes": [], + "addForeignKeys": [], + "deleteForeignKeys": [], + "warnings": [] + } + } + ], + "warnings": [], + "migrationApiVersion": 1 +} \ No newline at end of file diff --git a/school_data_hub_server/migrations/20251121184735230/migration.sql b/school_data_hub_server/migrations/20251121184735230/migration.sql new file mode 100644 index 00000000..08d886a7 --- /dev/null +++ b/school_data_hub_server/migrations/20251121184735230/migration.sql @@ -0,0 +1,33 @@ +BEGIN; + +-- +-- ACTION ALTER TABLE +-- +ALTER TABLE "user" ADD COLUMN "matrixUserId" text; + +-- +-- MIGRATION VERSION FOR school_data_hub +-- +INSERT INTO "serverpod_migrations" ("module", "version", "timestamp") + VALUES ('school_data_hub', '20251121184735230', now()) + ON CONFLICT ("module") + DO UPDATE SET "version" = '20251121184735230', "timestamp" = now(); + +-- +-- MIGRATION VERSION FOR serverpod +-- +INSERT INTO "serverpod_migrations" ("module", "version", "timestamp") + VALUES ('serverpod', '20240516151843329', now()) + ON CONFLICT ("module") + DO UPDATE SET "version" = '20240516151843329', "timestamp" = now(); + +-- +-- MIGRATION VERSION FOR serverpod_auth +-- +INSERT INTO "serverpod_migrations" ("module", "version", "timestamp") + VALUES ('serverpod_auth', '20240520102713718', now()) + ON CONFLICT ("module") + DO UPDATE SET "version" = '20240520102713718', "timestamp" = now(); + + +COMMIT; diff --git a/school_data_hub_server/migrations/20251123092602494/definition.json b/school_data_hub_server/migrations/20251123092602494/definition.json new file mode 100644 index 00000000..aaa4102e --- /dev/null +++ b/school_data_hub_server/migrations/20251123092602494/definition.json @@ -0,0 +1,6526 @@ +{ + "moduleName": "school_data_hub", + "tables": [ + { + "name": "authorization", + "dartName": "Authorization", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('authorization_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "authorization_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "book", + "dartName": "Book", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('book_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "title", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "author", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "readingLevel", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "imagePath", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "book_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "book_id_unique_idx", + "elements": [ + { + "type": 0, + "definition": "isbn" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "book_tag", + "dartName": "BookTag", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('book_tag_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "book_tag_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "book_tagging", + "dartName": "BookTagging", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('book_tagging_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "bookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "bookTagId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "book_tagging_fk_0", + "columns": [ + "bookId" + ], + "referenceTable": "book", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "book_tagging_fk_1", + "columns": [ + "bookTagId" + ], + "referenceTable": "book_tag", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "book_tagging_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "book_tagging_index_idx", + "elements": [ + { + "type": 0, + "definition": "bookId" + }, + { + "type": 0, + "definition": "bookTagId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "competence", + "dartName": "Competence", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "parentCompetence", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "level", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "indicators", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "order", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "competence_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_check", + "dartName": "CompetenceCheck", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_check_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "checkId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "valueFactor", + "columnType": 3, + "isNullable": false, + "dartType": "double" + }, + { + "name": "groupCheckId", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "groupCheckName", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_check_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_check_fk_1", + "columns": [ + "competenceId" + ], + "referenceTable": "competence", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_check_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_goal", + "dartName": "CompetenceGoal", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_goal_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "strategies", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "score", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "achievedAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_goal_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_goal_fk_1", + "columns": [ + "competenceId" + ], + "referenceTable": "competence", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_goal_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_report", + "dartName": "CompetenceReport", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_report_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "reportId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "achievement", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "achievedAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_report_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_report_fk_1", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_report_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_report_check", + "dartName": "CompetenceReportCheck", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_report_check_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "achievement", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceReportId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_report_check_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_report_check_fk_1", + "columns": [ + "competenceId" + ], + "referenceTable": "competence_report_item", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_report_check_fk_2", + "columns": [ + "competenceReportId" + ], + "referenceTable": "competence_report", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_report_check_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_report_item", + "dartName": "CompetenceReportItem", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_report_item_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "parentItem", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "level", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "order", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "competence_report_item_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "compulsory_room", + "dartName": "CompulsoryRoom", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('compulsory_room_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "roomId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "roomType", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:MatrixRoomType" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "compulsory_room_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "credit_transaction", + "dartName": "CreditTransaction", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('credit_transaction_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "sender", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "receiver", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "amount", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "dateTime", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "description", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "_pupilDataCredittransactionsPupilDataId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "credit_transaction_fk_0", + "columns": [ + "_pupilDataCredittransactionsPupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "credit_transaction_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "reciever_idx", + "elements": [ + { + "type": 0, + "definition": "receiver" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "sender_idx", + "elements": [ + { + "type": 0, + "definition": "sender" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "hub_document", + "dartName": "HubDocument", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('hub_document_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "documentId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "documentPath", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "_pupilBookLendingPupilbooklendingfilesPupilBookLendingId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_competenceCheckDocumentsCompetenceCheckId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_competenceGoalDocumentsCompetenceGoalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportCategoryStatusDocumentsSupportCategoryStatusId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportGoalCheckDocumentsSupportGoalCheckId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_preSchoolMedicalPreschoolmedicalfilesPreSchoolMedicalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_preSchoolTestPreschooltestdocumentsPreSchoolTestId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "hub_document_fk_0", + "columns": [ + "_pupilBookLendingPupilbooklendingfilesPupilBookLendingId" + ], + "referenceTable": "pupil_book_lending", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_1", + "columns": [ + "_competenceCheckDocumentsCompetenceCheckId" + ], + "referenceTable": "competence_check", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_2", + "columns": [ + "_competenceGoalDocumentsCompetenceGoalId" + ], + "referenceTable": "competence_goal", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_3", + "columns": [ + "_supportCategoryStatusDocumentsSupportCategoryStatusId" + ], + "referenceTable": "support_category_status", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_4", + "columns": [ + "_supportGoalCheckDocumentsSupportGoalCheckId" + ], + "referenceTable": "support_goal_check", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_5", + "columns": [ + "_preSchoolMedicalPreschoolmedicalfilesPreSchoolMedicalId" + ], + "referenceTable": "pre_school_medical", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_6", + "columns": [ + "_preSchoolTestPreschooltestdocumentsPreSchoolTestId" + ], + "referenceTable": "pre_school_test", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "hub_document_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "kindergarden", + "dartName": "Kindergarden", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('kindergarden_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "phone", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "address", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "contactPerson", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "kindergarden_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "last_pupil_identities_update", + "dartName": "LastPupilIdentiesUpdate", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('last_pupil_identities_update_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "date", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "last_pupil_identities_update_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "learning_support_plan", + "dartName": "LearningSupportPlan", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('learning_support_plan_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "planId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "number", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "socialPedagogue", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "proffesionalsInvolved", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "strengthsDescription", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "problemsDescription", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "learningSupportLevelId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "learning_support_plan_fk_0", + "columns": [ + "learningSupportLevelId" + ], + "referenceTable": "support_level", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "learning_support_plan_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "learning_support_plan_fk_2", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "learning_support_plan_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson", + "dartName": "Lesson", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "subjectId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_fk_0", + "columns": [ + "subjectId" + ], + "referenceTable": "subject", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson_attendance", + "dartName": "LessonAttendance", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_attendance_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "lessonId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "modifiedAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_attendance_fk_0", + "columns": [ + "lessonId" + ], + "referenceTable": "lesson", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "lesson_attendance_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_attendance_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson_group", + "dartName": "LessonGroup", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_group_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "color", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "timetableId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "modifiedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_group_fk_0", + "columns": [ + "timetableId" + ], + "referenceTable": "timetable", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_group_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson_group_pupil", + "dartName": "ScheduledLessonGroupMembership", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_group_pupil_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "lessonGroupId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilDataId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_group_pupil_fk_0", + "columns": [ + "lessonGroupId" + ], + "referenceTable": "lesson_group", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "lesson_group_pupil_fk_1", + "columns": [ + "pupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_group_pupil_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "lesson_group_membership_index_idx", + "elements": [ + { + "type": 0, + "definition": "lessonGroupId" + }, + { + "type": 0, + "definition": "pupilDataId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "lesson_teacher", + "dartName": "LessonTeacher", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_teacher_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "scheduledLessonId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_teacher_fk_0", + "columns": [ + "userId" + ], + "referenceTable": "user", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "lesson_teacher_fk_1", + "columns": [ + "scheduledLessonId" + ], + "referenceTable": "lesson", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_teacher_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "lesson_teacher_unique_idx", + "elements": [ + { + "type": 0, + "definition": "userId" + }, + { + "type": 0, + "definition": "scheduledLessonId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "library_book", + "dartName": "LibraryBook", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('library_book_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "libraryId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "bookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "locationId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "available", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + } + ], + "foreignKeys": [ + { + "constraintName": "library_book_fk_0", + "columns": [ + "bookId" + ], + "referenceTable": "book", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "library_book_fk_1", + "columns": [ + "locationId" + ], + "referenceTable": "library_book_location", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "library_book_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "library_id_unique_idx", + "elements": [ + { + "type": 0, + "definition": "libraryId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "library_book_location", + "dartName": "LibraryBookLocation", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('library_book_location_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "location", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "library_book_location_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "location_unique_idx", + "elements": [ + { + "type": 0, + "definition": "location" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "missed_class", + "dartName": "MissedSchoolday", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('missed_class_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "missedType", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:MissedType" + }, + { + "name": "unexcused", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "contacted", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:ContactedType" + }, + { + "name": "returned", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "returnedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "writtenExcuse", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "minutesLate", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "schooldayId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "missed_class_fk_0", + "columns": [ + "schooldayId" + ], + "referenceTable": "schoolday", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "missed_class_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "missed_class_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "schoolday_pupil_data_idx", + "elements": [ + { + "type": 0, + "definition": "schooldayId" + }, + { + "type": 0, + "definition": "pupilId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "pre_school_medical", + "dartName": "PreSchoolMedical", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pre_school_medical_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "preschoolMedicalStatus", + "columnType": 0, + "isNullable": true, + "dartType": "protocol:PreSchoolMedicalStatus?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "updatedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "updatedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "pre_school_medical_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pre_school_test", + "dartName": "PreSchoolTest", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pre_school_test_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "careNeedsIntensity", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "pre_school_test_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_authorization", + "dartName": "PupilAuthorization", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_authorization_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "status", + "columnType": 1, + "isNullable": true, + "dartType": "bool?" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "fileId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "authorizationId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_authorization_fk_0", + "columns": [ + "fileId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "pupil_authorization_fk_1", + "columns": [ + "authorizationId" + ], + "referenceTable": "authorization", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_authorization_fk_2", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "pupil_authorization_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_book_lending", + "dartName": "PupilBookLending", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_book_lending_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "lendingId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "status", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "lentAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "lentBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "returnedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "receivedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "libraryBookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_book_lending_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_book_lending_fk_1", + "columns": [ + "libraryBookId" + ], + "referenceTable": "library_book", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "pupil_book_lending_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_data", + "dartName": "PupilData", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_data_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "status", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:PupilStatus" + }, + { + "name": "internalId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "password", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "preSchoolMedicalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "kindergardenId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "kindergardenData", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:KindergardenInfo?" + }, + { + "name": "preSchoolTestId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "avatarId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "avatarAuthId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "publicMediaAuth", + "columnType": 8, + "isNullable": false, + "dartType": "protocol:PublicMediaAuth" + }, + { + "name": "publicMediaAuthDocumentId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "contact", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "communicationPupil", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:CommunicationSkills?" + }, + { + "name": "specialInformation", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "tutorInfo", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:TutorInfo?" + }, + { + "name": "afterSchoolCare", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:AfterSchoolCare?" + }, + { + "name": "credit", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "creditEarned", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "schoolyearHeldBackAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "swimmer", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "_kindergardenPupilsKindergardenId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_data_fk_0", + "columns": [ + "preSchoolMedicalId" + ], + "referenceTable": "pre_school_medical", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_1", + "columns": [ + "kindergardenId" + ], + "referenceTable": "kindergarden", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_2", + "columns": [ + "preSchoolTestId" + ], + "referenceTable": "pre_school_test", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_3", + "columns": [ + "avatarId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_4", + "columns": [ + "avatarAuthId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_5", + "columns": [ + "publicMediaAuthDocumentId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_6", + "columns": [ + "_kindergardenPupilsKindergardenId" + ], + "referenceTable": "kindergarden", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "pupil_data_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "pupil_data_status_idx", + "elements": [ + { + "type": 0, + "definition": "status" + }, + { + "type": 0, + "definition": "internalId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "pupil_data_internal_id_idx", + "elements": [ + { + "type": 0, + "definition": "internalId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "pupil_list_entry", + "dartName": "PupilListEntry", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_list_entry_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "status", + "columnType": 1, + "isNullable": true, + "dartType": "bool?" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "entryBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "schoolListId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_list_entry_fk_0", + "columns": [ + "schoolListId" + ], + "referenceTable": "school_list", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "pupil_list_entry_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "pupil_list_entry_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_workbook", + "dartName": "PupilWorkbook", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_workbook_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "finishedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "workbookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_workbook_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "pupil_workbook_fk_1", + "columns": [ + "workbookId" + ], + "referenceTable": "workbook", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "pupil_workbook_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "room", + "dartName": "Classroom", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('room_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "roomCode", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "roomName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "room_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "scheduled_lesson", + "dartName": "ScheduledLesson", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('scheduled_lesson_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "active", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "subjectId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "scheduledAtId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "timetableSlotOrder", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "timetableId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "mainTeacherId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "lessonId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "roomId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "lessonGroupId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "modifiedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "recordtest", + "columnType": 8, + "isNullable": true, + "dartType": "( {int testint, String testString})?" + }, + { + "name": "_roomScheduledlessonsRoomId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "scheduled_lesson_fk_0", + "columns": [ + "subjectId" + ], + "referenceTable": "subject", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_1", + "columns": [ + "scheduledAtId" + ], + "referenceTable": "timetable_slot", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_2", + "columns": [ + "timetableId" + ], + "referenceTable": "timetable", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_3", + "columns": [ + "roomId" + ], + "referenceTable": "room", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_4", + "columns": [ + "lessonGroupId" + ], + "referenceTable": "lesson_group", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_5", + "columns": [ + "_roomScheduledlessonsRoomId" + ], + "referenceTable": "room", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "scheduled_lesson_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "scheduled_lesson_teacher", + "dartName": "ScheduledLessonTeacher", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('scheduled_lesson_teacher_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "scheduledLessonId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "scheduled_lesson_teacher_fk_0", + "columns": [ + "userId" + ], + "referenceTable": "user", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_teacher_fk_1", + "columns": [ + "scheduledLessonId" + ], + "referenceTable": "scheduled_lesson", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "scheduled_lesson_teacher_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "scheduled_lesson_teacher_unique_idx", + "elements": [ + { + "type": 0, + "definition": "userId" + }, + { + "type": 0, + "definition": "scheduledLessonId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "school_data", + "dartName": "SchoolData", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('school_data_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "officialName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "address", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "schoolNumber", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "telephoneNumber", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "website", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "logoId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "officialSealId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "school_data_fk_0", + "columns": [ + "logoId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "school_data_fk_1", + "columns": [ + "officialSealId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "school_data_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "school_list", + "dartName": "SchoolList", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('school_list_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "listId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "archived", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "public", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "authorizedUsers", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "school_list_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "school_semester", + "dartName": "SchoolSemester", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('school_semester_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "schoolYear", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "isFirst", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "startDate", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "endDate", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "classConferenceDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "supportConferenceDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "reportConferenceDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "reportSignedDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "school_semester_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "schoolday", + "dartName": "Schoolday", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('schoolday_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "schoolday", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "schoolday_fk_0", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "schoolday_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "schoolday_event", + "dartName": "SchooldayEvent", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('schoolday_event_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "eventId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "eventType", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:SchooldayEventType" + }, + { + "name": "eventReason", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "processed", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "processedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "processedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "documentId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "processedDocumentId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "schooldayId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "schoolday_event_fk_0", + "columns": [ + "documentId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "schoolday_event_fk_1", + "columns": [ + "processedDocumentId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "schoolday_event_fk_2", + "columns": [ + "schooldayId" + ], + "referenceTable": "schoolday", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "schoolday_event_fk_3", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "schoolday_event_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "subject", + "dartName": "Subject", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('subject_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "color", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "subject_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_category", + "dartName": "SupportCategory", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_category_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "categoryId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "parentCategory", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "support_category_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_category_goal", + "dartName": "SupportGoal", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_category_goal_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "goalId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "achievedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "strategies", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "supportCategoryId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "_learningSupportPlanSupportgoalsLearningSupportPlanId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportCategoryCategorygoalsSupportCategoryId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_pupilDataSupportgoalsPupilDataId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "support_category_goal_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_goal_fk_1", + "columns": [ + "supportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "support_category_goal_fk_2", + "columns": [ + "_learningSupportPlanSupportgoalsLearningSupportPlanId" + ], + "referenceTable": "learning_support_plan", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_goal_fk_3", + "columns": [ + "_supportCategoryCategorygoalsSupportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_goal_fk_4", + "columns": [ + "_pupilDataSupportgoalsPupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "support_category_goal_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_category_status", + "dartName": "SupportCategoryStatus", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_category_status_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "supportCategoryId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "learningSupportPlanId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "_learningSupportPlanSupportcategorystatusesLearningSupporfb7bId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportCategoryCategorystatuesSupportCategoryId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_pupilDataSupportcategorystatusesPupilDataId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "support_category_status_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_1", + "columns": [ + "supportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_2", + "columns": [ + "learningSupportPlanId" + ], + "referenceTable": "learning_support_plan", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_3", + "columns": [ + "_learningSupportPlanSupportcategorystatusesLearningSupporfb7bId" + ], + "referenceTable": "learning_support_plan", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_4", + "columns": [ + "_supportCategoryCategorystatuesSupportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_5", + "columns": [ + "_pupilDataSupportcategorystatusesPupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "support_category_status_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_goal_check", + "dartName": "SupportGoalCheck", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_goal_check_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "checkId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "supportGoalId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "_supportCategoryGoalGoalchecksSupportCategoryGoalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "support_goal_check_fk_0", + "columns": [ + "supportGoalId" + ], + "referenceTable": "support_category_goal", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "support_goal_check_fk_1", + "columns": [ + "_supportCategoryGoalGoalchecksSupportCategoryGoalId" + ], + "referenceTable": "support_category_goal", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "support_goal_check_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_level", + "dartName": "SupportLevel", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_level_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "level", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "support_level_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "support_level_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "timetable", + "dartName": "Timetable", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('timetable_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "active", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "startsAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "endsAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modified", + "columnType": 8, + "isNullable": true, + "dartType": "List<( {String modifiedBy, DateTime modifiedAt})>?" + } + ], + "foreignKeys": [ + { + "constraintName": "timetable_fk_0", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "timetable_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "timetable_school_semester_idx", + "elements": [ + { + "type": 0, + "definition": "schoolSemesterId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "timetable_slot", + "dartName": "TimetableSlot", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('timetable_slot_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "day", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:Weekday" + }, + { + "name": "startTime", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "endTime", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "timetableId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "timetable_slot_fk_0", + "columns": [ + "timetableId" + ], + "referenceTable": "timetable", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "timetable_slot_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "user", + "dartName": "User", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('user_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userInfoId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "role", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:Role" + }, + { + "name": "matrixUserId", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "timeUnits", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "reliefTimeUnits", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilsAuth", + "columnType": 8, + "isNullable": true, + "dartType": "Set<int>?" + }, + { + "name": "schooldayEventsProcessingTeam", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "credit", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "userFlags", + "columnType": 8, + "isNullable": false, + "dartType": "protocol:UserFlags" + } + ], + "foreignKeys": [ + { + "constraintName": "user_fk_0", + "columns": [ + "userInfoId" + ], + "referenceTable": "serverpod_user_info", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "user_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "user_info_id_unique_idx", + "elements": [ + { + "type": 0, + "definition": "userInfoId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "user_device", + "dartName": "UserDevice", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('user_device_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userInfoId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "deviceId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "deviceName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "lastLogin", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "isActive", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "authId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "user_device_fk_0", + "columns": [ + "userInfoId" + ], + "referenceTable": "serverpod_user_info", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "user_device_fk_1", + "columns": [ + "authId" + ], + "referenceTable": "serverpod_auth_key", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "user_device_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "auth_key_user_device_idx", + "elements": [ + { + "type": 0, + "definition": "authId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "workbook", + "dartName": "Workbook", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('workbook_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "subject", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "level", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "amount", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "imageUrl", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "workbook_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "serverpod_cloud_storage", + "dartName": "CloudStorageEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_cloud_storage_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "storageId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "path", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "addedTime", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "expiration", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "byteData", + "columnType": 5, + "isNullable": false, + "dartType": "dart:typed_data:ByteData" + }, + { + "name": "verified", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_cloud_storage_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_cloud_storage_path_idx", + "elements": [ + { + "type": 0, + "definition": "storageId" + }, + { + "type": 0, + "definition": "path" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + }, + { + "indexName": "serverpod_cloud_storage_expiration", + "elements": [ + { + "type": 0, + "definition": "expiration" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_cloud_storage_direct_upload", + "dartName": "CloudStorageDirectUploadEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_cloud_storage_direct_upload_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "storageId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "path", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "expiration", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "authKey", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_cloud_storage_direct_upload_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_cloud_storage_direct_upload_storage_path", + "elements": [ + { + "type": 0, + "definition": "storageId" + }, + { + "type": 0, + "definition": "path" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_future_call", + "dartName": "FutureCallEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_future_call_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "time", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "serializedObject", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "identifier", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_future_call_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_future_call_time_idx", + "elements": [ + { + "type": 0, + "definition": "time" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "serverpod_future_call_serverId_idx", + "elements": [ + { + "type": 0, + "definition": "serverId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "serverpod_future_call_identifier_idx", + "elements": [ + { + "type": 0, + "definition": "identifier" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_health_connection_info", + "dartName": "ServerHealthConnectionInfo", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_health_connection_info_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "timestamp", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "active", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "closing", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "idle", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "granularity", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_health_connection_info_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_health_connection_info_timestamp_idx", + "elements": [ + { + "type": 0, + "definition": "timestamp" + }, + { + "type": 0, + "definition": "serverId" + }, + { + "type": 0, + "definition": "granularity" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_health_metric", + "dartName": "ServerHealthMetric", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_health_metric_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "timestamp", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "isHealthy", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "value", + "columnType": 3, + "isNullable": false, + "dartType": "double" + }, + { + "name": "granularity", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_health_metric_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_health_metric_timestamp_idx", + "elements": [ + { + "type": 0, + "definition": "timestamp" + }, + { + "type": 0, + "definition": "serverId" + }, + { + "type": 0, + "definition": "name" + }, + { + "type": 0, + "definition": "granularity" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_log", + "dartName": "LogEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_log_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "sessionLogId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "messageId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "reference", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "time", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "logLevel", + "columnType": 6, + "isNullable": false, + "dartType": "protocol:LogLevel" + }, + { + "name": "message", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "error", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "stackTrace", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "order", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "serverpod_log_fk_0", + "columns": [ + "sessionLogId" + ], + "referenceTable": "serverpod_session_log", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "serverpod_log_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_log_sessionLogId_idx", + "elements": [ + { + "type": 0, + "definition": "sessionLogId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_message_log", + "dartName": "MessageLogEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_message_log_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "sessionLogId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "messageId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "endpoint", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "messageName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "duration", + "columnType": 3, + "isNullable": false, + "dartType": "double" + }, + { + "name": "error", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "stackTrace", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "slow", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "order", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "serverpod_message_log_fk_0", + "columns": [ + "sessionLogId" + ], + "referenceTable": "serverpod_session_log", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "serverpod_message_log_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "serverpod_method", + "dartName": "MethodInfo", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_method_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "endpoint", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "method", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_method_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_method_endpoint_method_idx", + "elements": [ + { + "type": 0, + "definition": "endpoint" + }, + { + "type": 0, + "definition": "method" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_migrations", + "dartName": "DatabaseMigrationVersion", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_migrations_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "module", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "version", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "timestamp", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_migrations_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_migrations_ids", + "elements": [ + { + "type": 0, + "definition": "module" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_query_log", + "dartName": "QueryLogEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_query_log_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "sessionLogId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "messageId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "query", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "duration", + "columnType": 3, + "isNullable": false, + "dartType": "double" + }, + { + "name": "numRows", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "error", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "stackTrace", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "slow", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "order", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "serverpod_query_log_fk_0", + "columns": [ + "sessionLogId" + ], + "referenceTable": "serverpod_session_log", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "serverpod_query_log_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_query_log_sessionLogId_idx", + "elements": [ + { + "type": 0, + "definition": "sessionLogId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_readwrite_test", + "dartName": "ReadWriteTestEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_readwrite_test_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "number", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_readwrite_test_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "serverpod_runtime_settings", + "dartName": "RuntimeSettings", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_runtime_settings_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "logSettings", + "columnType": 8, + "isNullable": false, + "dartType": "protocol:LogSettings" + }, + { + "name": "logSettingsOverrides", + "columnType": 8, + "isNullable": false, + "dartType": "List<protocol:LogSettingsOverride>" + }, + { + "name": "logServiceCalls", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "logMalformedCalls", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_runtime_settings_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "serverpod_session_log", + "dartName": "SessionLogEntry", + "module": "serverpod", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_session_log_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "serverId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "time", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "module", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "endpoint", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "method", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "duration", + "columnType": 3, + "isNullable": true, + "dartType": "double?" + }, + { + "name": "numQueries", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "slow", + "columnType": 1, + "isNullable": true, + "dartType": "bool?" + }, + { + "name": "error", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "stackTrace", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "authenticatedUserId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "isOpen", + "columnType": 1, + "isNullable": true, + "dartType": "bool?" + }, + { + "name": "touched", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_session_log_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_session_log_serverid_idx", + "elements": [ + { + "type": 0, + "definition": "serverId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "serverpod_session_log_touched_idx", + "elements": [ + { + "type": 0, + "definition": "touched" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "serverpod_session_log_isopen_idx", + "elements": [ + { + "type": 0, + "definition": "isOpen" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_auth_key", + "dartName": "AuthKey", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_auth_key_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "hash", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "scopeNames", + "columnType": 8, + "isNullable": false, + "dartType": "List<String>" + }, + { + "name": "method", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_auth_key_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_auth_key_userId_idx", + "elements": [ + { + "type": 0, + "definition": "userId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_email_auth", + "dartName": "EmailAuth", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_email_auth_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "hash", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_email_auth_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_email_auth_email", + "elements": [ + { + "type": 0, + "definition": "email" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_email_create_request", + "dartName": "EmailCreateAccountRequest", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_email_create_request_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "hash", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "verificationCode", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_email_create_request_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_email_auth_create_account_request_idx", + "elements": [ + { + "type": 0, + "definition": "email" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_email_failed_sign_in", + "dartName": "EmailFailedSignIn", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_email_failed_sign_in_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "time", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "ipAddress", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_email_failed_sign_in_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_email_failed_sign_in_email_idx", + "elements": [ + { + "type": 0, + "definition": "email" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "serverpod_email_failed_sign_in_time_idx", + "elements": [ + { + "type": 0, + "definition": "time" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_email_reset", + "dartName": "EmailReset", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_email_reset_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "verificationCode", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "expiration", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_email_reset_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_email_reset_verification_idx", + "elements": [ + { + "type": 0, + "definition": "verificationCode" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_google_refresh_token", + "dartName": "GoogleRefreshToken", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_google_refresh_token_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "refreshToken", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_google_refresh_token_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_google_refresh_token_userId_idx", + "elements": [ + { + "type": 0, + "definition": "userId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_user_image", + "dartName": "UserImage", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_user_image_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "version", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "url", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_user_image_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_user_image_user_id", + "elements": [ + { + "type": 0, + "definition": "userId" + }, + { + "type": 0, + "definition": "version" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "serverpod_user_info", + "dartName": "UserInfo", + "module": "serverpod_auth", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('serverpod_user_info_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userIdentifier", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "userName", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "fullName", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "email", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "created", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "imageUrl", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "scopeNames", + "columnType": 8, + "isNullable": false, + "dartType": "List<String>" + }, + { + "name": "blocked", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "serverpod_user_info_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "serverpod_user_info_user_identifier", + "elements": [ + { + "type": 0, + "definition": "userIdentifier" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + }, + { + "indexName": "serverpod_user_info_email", + "elements": [ + { + "type": 0, + "definition": "email" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + } + ], + "installedModules": [ + { + "module": "school_data_hub", + "version": "20251123092602494" + }, + { + "module": "serverpod", + "version": "20240516151843329" + }, + { + "module": "serverpod_auth", + "version": "20240520102713718" + } + ], + "migrationApiVersion": 1 +} \ No newline at end of file diff --git a/school_data_hub_server/migrations/20251123092602494/definition.sql b/school_data_hub_server/migrations/20251123092602494/definition.sql new file mode 100644 index 00000000..108f2291 --- /dev/null +++ b/school_data_hub_server/migrations/20251123092602494/definition.sql @@ -0,0 +1,1727 @@ +BEGIN; + +-- +-- Class Authorization as table authorization +-- +CREATE TABLE "authorization" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL, + "description" text NOT NULL, + "createdBy" text NOT NULL +); + +-- +-- Class Book as table book +-- +CREATE TABLE "book" ( + "id" bigserial PRIMARY KEY, + "isbn" bigint NOT NULL, + "title" text NOT NULL, + "author" text NOT NULL, + "description" text NOT NULL, + "readingLevel" text, + "imagePath" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "book_id_unique_idx" ON "book" USING btree ("isbn"); + +-- +-- Class BookTag as table book_tag +-- +CREATE TABLE "book_tag" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL +); + +-- +-- Class BookTagging as table book_tagging +-- +CREATE TABLE "book_tagging" ( + "id" bigserial PRIMARY KEY, + "bookId" bigint NOT NULL, + "bookTagId" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "book_tagging_index_idx" ON "book_tagging" USING btree ("bookId", "bookTagId"); + +-- +-- Class Competence as table competence +-- +CREATE TABLE "competence" ( + "id" bigserial PRIMARY KEY, + "publicId" bigint NOT NULL, + "parentCompetence" bigint, + "name" text NOT NULL, + "level" json, + "indicators" json, + "order" bigint +); + +-- +-- Class CompetenceCheck as table competence_check +-- +CREATE TABLE "competence_check" ( + "id" bigserial PRIMARY KEY, + "checkId" text NOT NULL, + "score" bigint NOT NULL, + "comment" text, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "valueFactor" double precision NOT NULL, + "groupCheckId" text, + "groupCheckName" text, + "pupilId" bigint NOT NULL, + "competenceId" bigint NOT NULL +); + +-- +-- Class CompetenceGoal as table competence_goal +-- +CREATE TABLE "competence_goal" ( + "id" bigserial PRIMARY KEY, + "publicId" text NOT NULL, + "description" text NOT NULL, + "strategies" json, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modifiedBy" text NOT NULL, + "score" bigint, + "achievedAt" timestamp without time zone NOT NULL, + "pupilId" bigint NOT NULL, + "competenceId" bigint NOT NULL +); + +-- +-- Class CompetenceReport as table competence_report +-- +CREATE TABLE "competence_report" ( + "id" bigserial PRIMARY KEY, + "reportId" text NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modifiedBy" text NOT NULL, + "achievement" text NOT NULL, + "achievedAt" timestamp without time zone NOT NULL, + "pupilId" bigint NOT NULL, + "schoolSemesterId" bigint NOT NULL +); + +-- +-- Class CompetenceReportCheck as table competence_report_check +-- +CREATE TABLE "competence_report_check" ( + "id" bigserial PRIMARY KEY, + "publicId" text NOT NULL, + "achievement" bigint NOT NULL, + "comment" text NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "pupilId" bigint NOT NULL, + "competenceId" bigint NOT NULL, + "competenceReportId" bigint NOT NULL +); + +-- +-- Class CompetenceReportItem as table competence_report_item +-- +CREATE TABLE "competence_report_item" ( + "id" bigserial PRIMARY KEY, + "publicId" bigint NOT NULL, + "parentItem" bigint, + "name" text NOT NULL, + "level" json, + "order" bigint +); + +-- +-- Class CompulsoryRoom as table compulsory_room +-- +CREATE TABLE "compulsory_room" ( + "id" bigserial PRIMARY KEY, + "roomId" text NOT NULL, + "roomType" text NOT NULL +); + +-- +-- Class CreditTransaction as table credit_transaction +-- +CREATE TABLE "credit_transaction" ( + "id" bigserial PRIMARY KEY, + "sender" text NOT NULL, + "receiver" bigint NOT NULL, + "amount" bigint NOT NULL, + "dateTime" timestamp without time zone NOT NULL, + "description" text, + "_pupilDataCredittransactionsPupilDataId" bigint +); + +-- Indexes +CREATE INDEX "reciever_idx" ON "credit_transaction" USING btree ("receiver"); +CREATE INDEX "sender_idx" ON "credit_transaction" USING btree ("sender"); + +-- +-- Class HubDocument as table hub_document +-- +CREATE TABLE "hub_document" ( + "id" bigserial PRIMARY KEY, + "documentId" text NOT NULL, + "documentPath" text, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "_pupilBookLendingPupilbooklendingfilesPupilBookLendingId" bigint, + "_competenceCheckDocumentsCompetenceCheckId" bigint, + "_competenceGoalDocumentsCompetenceGoalId" bigint, + "_supportCategoryStatusDocumentsSupportCategoryStatusId" bigint, + "_supportGoalCheckDocumentsSupportGoalCheckId" bigint, + "_preSchoolMedicalPreschoolmedicalfilesPreSchoolMedicalId" bigint, + "_preSchoolTestPreschooltestdocumentsPreSchoolTestId" bigint +); + +-- +-- Class Kindergarden as table kindergarden +-- +CREATE TABLE "kindergarden" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL, + "phone" text NOT NULL, + "address" text NOT NULL, + "email" text NOT NULL, + "contactPerson" text NOT NULL +); + +-- +-- Class LastPupilIdentiesUpdate as table last_pupil_identities_update +-- +CREATE TABLE "last_pupil_identities_update" ( + "id" bigserial PRIMARY KEY, + "date" timestamp without time zone +); + +-- +-- Class LearningSupportPlan as table learning_support_plan +-- +CREATE TABLE "learning_support_plan" ( + "id" bigserial PRIMARY KEY, + "planId" text NOT NULL, + "number" bigint, + "createdBy" text NOT NULL, + "socialPedagogue" text, + "proffesionalsInvolved" text, + "strengthsDescription" text, + "problemsDescription" text, + "learningSupportLevelId" bigint NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "comment" text, + "pupilId" bigint NOT NULL, + "schoolSemesterId" bigint NOT NULL +); + +-- +-- Class Lesson as table lesson +-- +CREATE TABLE "lesson" ( + "id" bigserial PRIMARY KEY, + "publicId" text NOT NULL, + "subjectId" bigint NOT NULL +); + +-- +-- Class LessonAttendance as table lesson_attendance +-- +CREATE TABLE "lesson_attendance" ( + "id" bigserial PRIMARY KEY, + "lessonId" bigint NOT NULL, + "pupilId" bigint NOT NULL, + "comment" text, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modifiedBy" text NOT NULL, + "modifiedAt" timestamp without time zone NOT NULL +); + +-- +-- Class LessonGroup as table lesson_group +-- +CREATE TABLE "lesson_group" ( + "id" bigserial PRIMARY KEY, + "publicId" text NOT NULL, + "name" text NOT NULL, + "color" text, + "timetableId" bigint NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modifiedBy" text, + "modifiedAt" timestamp without time zone +); + +-- +-- Class ScheduledLessonGroupMembership as table lesson_group_pupil +-- +CREATE TABLE "lesson_group_pupil" ( + "id" bigserial PRIMARY KEY, + "lessonGroupId" bigint NOT NULL, + "pupilDataId" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "lesson_group_membership_index_idx" ON "lesson_group_pupil" USING btree ("lessonGroupId", "pupilDataId"); + +-- +-- Class LessonTeacher as table lesson_teacher +-- +CREATE TABLE "lesson_teacher" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "scheduledLessonId" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "lesson_teacher_unique_idx" ON "lesson_teacher" USING btree ("userId", "scheduledLessonId"); + +-- +-- Class LibraryBook as table library_book +-- +CREATE TABLE "library_book" ( + "id" bigserial PRIMARY KEY, + "libraryId" text NOT NULL, + "bookId" bigint NOT NULL, + "locationId" bigint NOT NULL, + "available" boolean NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "library_id_unique_idx" ON "library_book" USING btree ("libraryId"); + +-- +-- Class LibraryBookLocation as table library_book_location +-- +CREATE TABLE "library_book_location" ( + "id" bigserial PRIMARY KEY, + "location" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "location_unique_idx" ON "library_book_location" USING btree ("location"); + +-- +-- Class MissedSchoolday as table missed_class +-- +CREATE TABLE "missed_class" ( + "id" bigserial PRIMARY KEY, + "missedType" text NOT NULL, + "unexcused" boolean NOT NULL, + "contacted" text NOT NULL, + "returned" boolean NOT NULL, + "returnedAt" timestamp without time zone, + "writtenExcuse" boolean NOT NULL, + "minutesLate" bigint, + "createdBy" text NOT NULL, + "modifiedBy" text, + "comment" text, + "schooldayId" bigint NOT NULL, + "pupilId" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "schoolday_pupil_data_idx" ON "missed_class" USING btree ("schooldayId", "pupilId"); + +-- +-- Class PreSchoolMedical as table pre_school_medical +-- +CREATE TABLE "pre_school_medical" ( + "id" bigserial PRIMARY KEY, + "preschoolMedicalStatus" text, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "updatedBy" text, + "updatedAt" timestamp without time zone +); + +-- +-- Class PreSchoolTest as table pre_school_test +-- +CREATE TABLE "pre_school_test" ( + "id" bigserial PRIMARY KEY, + "careNeedsIntensity" bigint +); + +-- +-- Class PupilAuthorization as table pupil_authorization +-- +CREATE TABLE "pupil_authorization" ( + "id" bigserial PRIMARY KEY, + "status" boolean, + "comment" text, + "createdBy" text, + "fileId" bigint, + "authorizationId" bigint NOT NULL, + "pupilId" bigint NOT NULL +); + +-- +-- Class PupilBookLending as table pupil_book_lending +-- +CREATE TABLE "pupil_book_lending" ( + "id" bigserial PRIMARY KEY, + "lendingId" text NOT NULL, + "status" text, + "score" bigint NOT NULL, + "lentAt" timestamp without time zone NOT NULL, + "lentBy" text NOT NULL, + "returnedAt" timestamp without time zone, + "receivedBy" text, + "pupilId" bigint NOT NULL, + "isbn" bigint NOT NULL, + "libraryBookId" bigint NOT NULL +); + +-- +-- Class PupilData as table pupil_data +-- +CREATE TABLE "pupil_data" ( + "id" bigserial PRIMARY KEY, + "status" text NOT NULL, + "internalId" bigint NOT NULL, + "password" text, + "preSchoolMedicalId" bigint, + "kindergardenId" bigint, + "kindergardenData" json, + "preSchoolTestId" bigint, + "avatarId" bigint, + "avatarAuthId" bigint, + "publicMediaAuth" json NOT NULL, + "publicMediaAuthDocumentId" bigint, + "contact" text, + "communicationPupil" json, + "specialInformation" text, + "tutorInfo" json, + "afterSchoolCare" json, + "credit" bigint NOT NULL, + "creditEarned" bigint NOT NULL, + "schoolyearHeldBackAt" timestamp without time zone, + "swimmer" text, + "_kindergardenPupilsKindergardenId" bigint +); + +-- Indexes +CREATE INDEX "pupil_data_status_idx" ON "pupil_data" USING btree ("status", "internalId"); +CREATE UNIQUE INDEX "pupil_data_internal_id_idx" ON "pupil_data" USING btree ("internalId"); + +-- +-- Class PupilListEntry as table pupil_list_entry +-- +CREATE TABLE "pupil_list_entry" ( + "id" bigserial PRIMARY KEY, + "status" boolean, + "comment" text, + "entryBy" text, + "schoolListId" bigint NOT NULL, + "pupilId" bigint NOT NULL +); + +-- +-- Class PupilWorkbook as table pupil_workbook +-- +CREATE TABLE "pupil_workbook" ( + "id" bigserial PRIMARY KEY, + "isbn" bigint NOT NULL, + "comment" text, + "score" bigint NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "finishedAt" timestamp without time zone, + "pupilId" bigint NOT NULL, + "workbookId" bigint NOT NULL +); + +-- +-- Class Classroom as table room +-- +CREATE TABLE "room" ( + "id" bigserial PRIMARY KEY, + "roomCode" text NOT NULL, + "roomName" text NOT NULL +); + +-- +-- Class ScheduledLesson as table scheduled_lesson +-- +CREATE TABLE "scheduled_lesson" ( + "id" bigserial PRIMARY KEY, + "active" boolean NOT NULL, + "subjectId" bigint NOT NULL, + "scheduledAtId" bigint NOT NULL, + "timetableSlotOrder" bigint NOT NULL, + "timetableId" bigint NOT NULL, + "mainTeacherId" bigint NOT NULL, + "lessonId" text NOT NULL, + "roomId" bigint NOT NULL, + "lessonGroupId" bigint NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modifiedBy" text, + "modifiedAt" timestamp without time zone, + "recordtest" json, + "_roomScheduledlessonsRoomId" bigint +); + +-- +-- Class ScheduledLessonTeacher as table scheduled_lesson_teacher +-- +CREATE TABLE "scheduled_lesson_teacher" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "scheduledLessonId" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "scheduled_lesson_teacher_unique_idx" ON "scheduled_lesson_teacher" USING btree ("userId", "scheduledLessonId"); + +-- +-- Class SchoolData as table school_data +-- +CREATE TABLE "school_data" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL, + "officialName" text NOT NULL, + "address" text NOT NULL, + "schoolNumber" text NOT NULL, + "telephoneNumber" text NOT NULL, + "email" text NOT NULL, + "website" text NOT NULL, + "logoId" bigint, + "officialSealId" bigint +); + +-- +-- Class SchoolList as table school_list +-- +CREATE TABLE "school_list" ( + "id" bigserial PRIMARY KEY, + "listId" text NOT NULL, + "archived" boolean NOT NULL, + "name" text NOT NULL, + "description" text NOT NULL, + "createdBy" text NOT NULL, + "public" boolean NOT NULL, + "authorizedUsers" text +); + +-- +-- Class SchoolSemester as table school_semester +-- +CREATE TABLE "school_semester" ( + "id" bigserial PRIMARY KEY, + "schoolYear" text NOT NULL, + "isFirst" boolean NOT NULL, + "startDate" timestamp without time zone NOT NULL, + "endDate" timestamp without time zone NOT NULL, + "classConferenceDate" timestamp without time zone, + "supportConferenceDate" timestamp without time zone, + "reportConferenceDate" timestamp without time zone, + "reportSignedDate" timestamp without time zone +); + +-- +-- Class Schoolday as table schoolday +-- +CREATE TABLE "schoolday" ( + "id" bigserial PRIMARY KEY, + "schoolday" timestamp without time zone NOT NULL, + "schoolSemesterId" bigint NOT NULL +); + +-- +-- Class SchooldayEvent as table schoolday_event +-- +CREATE TABLE "schoolday_event" ( + "id" bigserial PRIMARY KEY, + "eventId" text NOT NULL, + "eventType" text NOT NULL, + "eventReason" text NOT NULL, + "createdBy" text NOT NULL, + "processed" boolean NOT NULL, + "processedBy" text, + "processedAt" timestamp without time zone, + "documentId" bigint, + "processedDocumentId" bigint, + "schooldayId" bigint NOT NULL, + "pupilId" bigint NOT NULL +); + +-- +-- Class Subject as table subject +-- +CREATE TABLE "subject" ( + "id" bigserial PRIMARY KEY, + "publicId" text NOT NULL, + "name" text NOT NULL, + "description" text, + "color" text, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modifiedBy" text NOT NULL +); + +-- +-- Class SupportCategory as table support_category +-- +CREATE TABLE "support_category" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL, + "categoryId" bigint NOT NULL, + "parentCategory" bigint +); + +-- +-- Class SupportGoal as table support_category_goal +-- +CREATE TABLE "support_category_goal" ( + "id" bigserial PRIMARY KEY, + "goalId" text NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "score" bigint NOT NULL, + "achievedAt" timestamp without time zone, + "description" text NOT NULL, + "strategies" text NOT NULL, + "pupilId" bigint NOT NULL, + "supportCategoryId" bigint NOT NULL, + "_learningSupportPlanSupportgoalsLearningSupportPlanId" bigint, + "_supportCategoryCategorygoalsSupportCategoryId" bigint, + "_pupilDataSupportgoalsPupilDataId" bigint +); + +-- +-- Class SupportCategoryStatus as table support_category_status +-- +CREATE TABLE "support_category_status" ( + "id" bigserial PRIMARY KEY, + "score" bigint NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "comment" text NOT NULL, + "pupilId" bigint NOT NULL, + "supportCategoryId" bigint NOT NULL, + "learningSupportPlanId" bigint NOT NULL, + "_learningSupportPlanSupportcategorystatusesLearningSupporfb7bId" bigint, + "_supportCategoryCategorystatuesSupportCategoryId" bigint, + "_pupilDataSupportcategorystatusesPupilDataId" bigint +); + +-- +-- Class SupportGoalCheck as table support_goal_check +-- +CREATE TABLE "support_goal_check" ( + "id" bigserial PRIMARY KEY, + "checkId" text NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "score" bigint NOT NULL, + "comment" text NOT NULL, + "supportGoalId" bigint NOT NULL, + "_supportCategoryGoalGoalchecksSupportCategoryGoalId" bigint +); + +-- +-- Class SupportLevel as table support_level +-- +CREATE TABLE "support_level" ( + "id" bigserial PRIMARY KEY, + "level" bigint NOT NULL, + "comment" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "createdBy" text NOT NULL, + "pupilId" bigint NOT NULL +); + +-- +-- Class Timetable as table timetable +-- +CREATE TABLE "timetable" ( + "id" bigserial PRIMARY KEY, + "active" boolean NOT NULL, + "startsAt" timestamp without time zone NOT NULL, + "endsAt" timestamp without time zone, + "name" text NOT NULL, + "schoolSemesterId" bigint NOT NULL, + "createdBy" text NOT NULL, + "createdAt" timestamp without time zone NOT NULL, + "modified" json +); + +-- Indexes +CREATE INDEX "timetable_school_semester_idx" ON "timetable" USING btree ("schoolSemesterId"); + +-- +-- Class TimetableSlot as table timetable_slot +-- +CREATE TABLE "timetable_slot" ( + "id" bigserial PRIMARY KEY, + "day" text NOT NULL, + "startTime" text NOT NULL, + "endTime" text NOT NULL, + "timetableId" bigint NOT NULL +); + +-- +-- Class User as table user +-- +CREATE TABLE "user" ( + "id" bigserial PRIMARY KEY, + "userInfoId" bigint NOT NULL, + "role" text NOT NULL, + "matrixUserId" text, + "timeUnits" bigint NOT NULL, + "reliefTimeUnits" bigint NOT NULL, + "pupilsAuth" json, + "schooldayEventsProcessingTeam" text, + "credit" bigint NOT NULL, + "userFlags" json NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "user_info_id_unique_idx" ON "user" USING btree ("userInfoId"); + +-- +-- Class UserDevice as table user_device +-- +CREATE TABLE "user_device" ( + "id" bigserial PRIMARY KEY, + "userInfoId" bigint NOT NULL, + "deviceId" text NOT NULL, + "deviceName" text NOT NULL, + "lastLogin" timestamp without time zone NOT NULL, + "isActive" boolean NOT NULL, + "authId" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "auth_key_user_device_idx" ON "user_device" USING btree ("authId"); + +-- +-- Class Workbook as table workbook +-- +CREATE TABLE "workbook" ( + "id" bigserial PRIMARY KEY, + "isbn" bigint NOT NULL, + "name" text NOT NULL, + "subject" text, + "level" text, + "amount" bigint, + "imageUrl" text NOT NULL +); + +-- +-- Class CloudStorageEntry as table serverpod_cloud_storage +-- +CREATE TABLE "serverpod_cloud_storage" ( + "id" bigserial PRIMARY KEY, + "storageId" text NOT NULL, + "path" text NOT NULL, + "addedTime" timestamp without time zone NOT NULL, + "expiration" timestamp without time zone, + "byteData" bytea NOT NULL, + "verified" boolean NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_cloud_storage_path_idx" ON "serverpod_cloud_storage" USING btree ("storageId", "path"); +CREATE INDEX "serverpod_cloud_storage_expiration" ON "serverpod_cloud_storage" USING btree ("expiration"); + +-- +-- Class CloudStorageDirectUploadEntry as table serverpod_cloud_storage_direct_upload +-- +CREATE TABLE "serverpod_cloud_storage_direct_upload" ( + "id" bigserial PRIMARY KEY, + "storageId" text NOT NULL, + "path" text NOT NULL, + "expiration" timestamp without time zone NOT NULL, + "authKey" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_cloud_storage_direct_upload_storage_path" ON "serverpod_cloud_storage_direct_upload" USING btree ("storageId", "path"); + +-- +-- Class FutureCallEntry as table serverpod_future_call +-- +CREATE TABLE "serverpod_future_call" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL, + "time" timestamp without time zone NOT NULL, + "serializedObject" text, + "serverId" text NOT NULL, + "identifier" text +); + +-- Indexes +CREATE INDEX "serverpod_future_call_time_idx" ON "serverpod_future_call" USING btree ("time"); +CREATE INDEX "serverpod_future_call_serverId_idx" ON "serverpod_future_call" USING btree ("serverId"); +CREATE INDEX "serverpod_future_call_identifier_idx" ON "serverpod_future_call" USING btree ("identifier"); + +-- +-- Class ServerHealthConnectionInfo as table serverpod_health_connection_info +-- +CREATE TABLE "serverpod_health_connection_info" ( + "id" bigserial PRIMARY KEY, + "serverId" text NOT NULL, + "timestamp" timestamp without time zone NOT NULL, + "active" bigint NOT NULL, + "closing" bigint NOT NULL, + "idle" bigint NOT NULL, + "granularity" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_health_connection_info_timestamp_idx" ON "serverpod_health_connection_info" USING btree ("timestamp", "serverId", "granularity"); + +-- +-- Class ServerHealthMetric as table serverpod_health_metric +-- +CREATE TABLE "serverpod_health_metric" ( + "id" bigserial PRIMARY KEY, + "name" text NOT NULL, + "serverId" text NOT NULL, + "timestamp" timestamp without time zone NOT NULL, + "isHealthy" boolean NOT NULL, + "value" double precision NOT NULL, + "granularity" bigint NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_health_metric_timestamp_idx" ON "serverpod_health_metric" USING btree ("timestamp", "serverId", "name", "granularity"); + +-- +-- Class LogEntry as table serverpod_log +-- +CREATE TABLE "serverpod_log" ( + "id" bigserial PRIMARY KEY, + "sessionLogId" bigint NOT NULL, + "messageId" bigint, + "reference" text, + "serverId" text NOT NULL, + "time" timestamp without time zone NOT NULL, + "logLevel" bigint NOT NULL, + "message" text NOT NULL, + "error" text, + "stackTrace" text, + "order" bigint NOT NULL +); + +-- Indexes +CREATE INDEX "serverpod_log_sessionLogId_idx" ON "serverpod_log" USING btree ("sessionLogId"); + +-- +-- Class MessageLogEntry as table serverpod_message_log +-- +CREATE TABLE "serverpod_message_log" ( + "id" bigserial PRIMARY KEY, + "sessionLogId" bigint NOT NULL, + "serverId" text NOT NULL, + "messageId" bigint NOT NULL, + "endpoint" text NOT NULL, + "messageName" text NOT NULL, + "duration" double precision NOT NULL, + "error" text, + "stackTrace" text, + "slow" boolean NOT NULL, + "order" bigint NOT NULL +); + +-- +-- Class MethodInfo as table serverpod_method +-- +CREATE TABLE "serverpod_method" ( + "id" bigserial PRIMARY KEY, + "endpoint" text NOT NULL, + "method" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_method_endpoint_method_idx" ON "serverpod_method" USING btree ("endpoint", "method"); + +-- +-- Class DatabaseMigrationVersion as table serverpod_migrations +-- +CREATE TABLE "serverpod_migrations" ( + "id" bigserial PRIMARY KEY, + "module" text NOT NULL, + "version" text NOT NULL, + "timestamp" timestamp without time zone +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_migrations_ids" ON "serverpod_migrations" USING btree ("module"); + +-- +-- Class QueryLogEntry as table serverpod_query_log +-- +CREATE TABLE "serverpod_query_log" ( + "id" bigserial PRIMARY KEY, + "serverId" text NOT NULL, + "sessionLogId" bigint NOT NULL, + "messageId" bigint, + "query" text NOT NULL, + "duration" double precision NOT NULL, + "numRows" bigint, + "error" text, + "stackTrace" text, + "slow" boolean NOT NULL, + "order" bigint NOT NULL +); + +-- Indexes +CREATE INDEX "serverpod_query_log_sessionLogId_idx" ON "serverpod_query_log" USING btree ("sessionLogId"); + +-- +-- Class ReadWriteTestEntry as table serverpod_readwrite_test +-- +CREATE TABLE "serverpod_readwrite_test" ( + "id" bigserial PRIMARY KEY, + "number" bigint NOT NULL +); + +-- +-- Class RuntimeSettings as table serverpod_runtime_settings +-- +CREATE TABLE "serverpod_runtime_settings" ( + "id" bigserial PRIMARY KEY, + "logSettings" json NOT NULL, + "logSettingsOverrides" json NOT NULL, + "logServiceCalls" boolean NOT NULL, + "logMalformedCalls" boolean NOT NULL +); + +-- +-- Class SessionLogEntry as table serverpod_session_log +-- +CREATE TABLE "serverpod_session_log" ( + "id" bigserial PRIMARY KEY, + "serverId" text NOT NULL, + "time" timestamp without time zone NOT NULL, + "module" text, + "endpoint" text, + "method" text, + "duration" double precision, + "numQueries" bigint, + "slow" boolean, + "error" text, + "stackTrace" text, + "authenticatedUserId" bigint, + "isOpen" boolean, + "touched" timestamp without time zone NOT NULL +); + +-- Indexes +CREATE INDEX "serverpod_session_log_serverid_idx" ON "serverpod_session_log" USING btree ("serverId"); +CREATE INDEX "serverpod_session_log_touched_idx" ON "serverpod_session_log" USING btree ("touched"); +CREATE INDEX "serverpod_session_log_isopen_idx" ON "serverpod_session_log" USING btree ("isOpen"); + +-- +-- Class AuthKey as table serverpod_auth_key +-- +CREATE TABLE "serverpod_auth_key" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "hash" text NOT NULL, + "scopeNames" json NOT NULL, + "method" text NOT NULL +); + +-- Indexes +CREATE INDEX "serverpod_auth_key_userId_idx" ON "serverpod_auth_key" USING btree ("userId"); + +-- +-- Class EmailAuth as table serverpod_email_auth +-- +CREATE TABLE "serverpod_email_auth" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "email" text NOT NULL, + "hash" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_email_auth_email" ON "serverpod_email_auth" USING btree ("email"); + +-- +-- Class EmailCreateAccountRequest as table serverpod_email_create_request +-- +CREATE TABLE "serverpod_email_create_request" ( + "id" bigserial PRIMARY KEY, + "userName" text NOT NULL, + "email" text NOT NULL, + "hash" text NOT NULL, + "verificationCode" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_email_auth_create_account_request_idx" ON "serverpod_email_create_request" USING btree ("email"); + +-- +-- Class EmailFailedSignIn as table serverpod_email_failed_sign_in +-- +CREATE TABLE "serverpod_email_failed_sign_in" ( + "id" bigserial PRIMARY KEY, + "email" text NOT NULL, + "time" timestamp without time zone NOT NULL, + "ipAddress" text NOT NULL +); + +-- Indexes +CREATE INDEX "serverpod_email_failed_sign_in_email_idx" ON "serverpod_email_failed_sign_in" USING btree ("email"); +CREATE INDEX "serverpod_email_failed_sign_in_time_idx" ON "serverpod_email_failed_sign_in" USING btree ("time"); + +-- +-- Class EmailReset as table serverpod_email_reset +-- +CREATE TABLE "serverpod_email_reset" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "verificationCode" text NOT NULL, + "expiration" timestamp without time zone NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_email_reset_verification_idx" ON "serverpod_email_reset" USING btree ("verificationCode"); + +-- +-- Class GoogleRefreshToken as table serverpod_google_refresh_token +-- +CREATE TABLE "serverpod_google_refresh_token" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "refreshToken" text NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_google_refresh_token_userId_idx" ON "serverpod_google_refresh_token" USING btree ("userId"); + +-- +-- Class UserImage as table serverpod_user_image +-- +CREATE TABLE "serverpod_user_image" ( + "id" bigserial PRIMARY KEY, + "userId" bigint NOT NULL, + "version" bigint NOT NULL, + "url" text NOT NULL +); + +-- Indexes +CREATE INDEX "serverpod_user_image_user_id" ON "serverpod_user_image" USING btree ("userId", "version"); + +-- +-- Class UserInfo as table serverpod_user_info +-- +CREATE TABLE "serverpod_user_info" ( + "id" bigserial PRIMARY KEY, + "userIdentifier" text NOT NULL, + "userName" text, + "fullName" text, + "email" text, + "created" timestamp without time zone NOT NULL, + "imageUrl" text, + "scopeNames" json NOT NULL, + "blocked" boolean NOT NULL +); + +-- Indexes +CREATE UNIQUE INDEX "serverpod_user_info_user_identifier" ON "serverpod_user_info" USING btree ("userIdentifier"); +CREATE INDEX "serverpod_user_info_email" ON "serverpod_user_info" USING btree ("email"); + +-- +-- Foreign relations for "book_tagging" table +-- +ALTER TABLE ONLY "book_tagging" + ADD CONSTRAINT "book_tagging_fk_0" + FOREIGN KEY("bookId") + REFERENCES "book"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "book_tagging" + ADD CONSTRAINT "book_tagging_fk_1" + FOREIGN KEY("bookTagId") + REFERENCES "book_tag"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "competence_check" table +-- +ALTER TABLE ONLY "competence_check" + ADD CONSTRAINT "competence_check_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "competence_check" + ADD CONSTRAINT "competence_check_fk_1" + FOREIGN KEY("competenceId") + REFERENCES "competence"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "competence_goal" table +-- +ALTER TABLE ONLY "competence_goal" + ADD CONSTRAINT "competence_goal_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "competence_goal" + ADD CONSTRAINT "competence_goal_fk_1" + FOREIGN KEY("competenceId") + REFERENCES "competence"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "competence_report" table +-- +ALTER TABLE ONLY "competence_report" + ADD CONSTRAINT "competence_report_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "competence_report" + ADD CONSTRAINT "competence_report_fk_1" + FOREIGN KEY("schoolSemesterId") + REFERENCES "school_semester"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "competence_report_check" table +-- +ALTER TABLE ONLY "competence_report_check" + ADD CONSTRAINT "competence_report_check_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "competence_report_check" + ADD CONSTRAINT "competence_report_check_fk_1" + FOREIGN KEY("competenceId") + REFERENCES "competence_report_item"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "competence_report_check" + ADD CONSTRAINT "competence_report_check_fk_2" + FOREIGN KEY("competenceReportId") + REFERENCES "competence_report"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "credit_transaction" table +-- +ALTER TABLE ONLY "credit_transaction" + ADD CONSTRAINT "credit_transaction_fk_0" + FOREIGN KEY("_pupilDataCredittransactionsPupilDataId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "hub_document" table +-- +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_0" + FOREIGN KEY("_pupilBookLendingPupilbooklendingfilesPupilBookLendingId") + REFERENCES "pupil_book_lending"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_1" + FOREIGN KEY("_competenceCheckDocumentsCompetenceCheckId") + REFERENCES "competence_check"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_2" + FOREIGN KEY("_competenceGoalDocumentsCompetenceGoalId") + REFERENCES "competence_goal"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_3" + FOREIGN KEY("_supportCategoryStatusDocumentsSupportCategoryStatusId") + REFERENCES "support_category_status"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_4" + FOREIGN KEY("_supportGoalCheckDocumentsSupportGoalCheckId") + REFERENCES "support_goal_check"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_5" + FOREIGN KEY("_preSchoolMedicalPreschoolmedicalfilesPreSchoolMedicalId") + REFERENCES "pre_school_medical"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "hub_document" + ADD CONSTRAINT "hub_document_fk_6" + FOREIGN KEY("_preSchoolTestPreschooltestdocumentsPreSchoolTestId") + REFERENCES "pre_school_test"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "learning_support_plan" table +-- +ALTER TABLE ONLY "learning_support_plan" + ADD CONSTRAINT "learning_support_plan_fk_0" + FOREIGN KEY("learningSupportLevelId") + REFERENCES "support_level"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "learning_support_plan" + ADD CONSTRAINT "learning_support_plan_fk_1" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "learning_support_plan" + ADD CONSTRAINT "learning_support_plan_fk_2" + FOREIGN KEY("schoolSemesterId") + REFERENCES "school_semester"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "lesson" table +-- +ALTER TABLE ONLY "lesson" + ADD CONSTRAINT "lesson_fk_0" + FOREIGN KEY("subjectId") + REFERENCES "subject"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "lesson_attendance" table +-- +ALTER TABLE ONLY "lesson_attendance" + ADD CONSTRAINT "lesson_attendance_fk_0" + FOREIGN KEY("lessonId") + REFERENCES "lesson"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "lesson_attendance" + ADD CONSTRAINT "lesson_attendance_fk_1" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "lesson_group" table +-- +ALTER TABLE ONLY "lesson_group" + ADD CONSTRAINT "lesson_group_fk_0" + FOREIGN KEY("timetableId") + REFERENCES "timetable"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "lesson_group_pupil" table +-- +ALTER TABLE ONLY "lesson_group_pupil" + ADD CONSTRAINT "lesson_group_pupil_fk_0" + FOREIGN KEY("lessonGroupId") + REFERENCES "lesson_group"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "lesson_group_pupil" + ADD CONSTRAINT "lesson_group_pupil_fk_1" + FOREIGN KEY("pupilDataId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "lesson_teacher" table +-- +ALTER TABLE ONLY "lesson_teacher" + ADD CONSTRAINT "lesson_teacher_fk_0" + FOREIGN KEY("userId") + REFERENCES "user"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "lesson_teacher" + ADD CONSTRAINT "lesson_teacher_fk_1" + FOREIGN KEY("scheduledLessonId") + REFERENCES "lesson"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "library_book" table +-- +ALTER TABLE ONLY "library_book" + ADD CONSTRAINT "library_book_fk_0" + FOREIGN KEY("bookId") + REFERENCES "book"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "library_book" + ADD CONSTRAINT "library_book_fk_1" + FOREIGN KEY("locationId") + REFERENCES "library_book_location"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "missed_class" table +-- +ALTER TABLE ONLY "missed_class" + ADD CONSTRAINT "missed_class_fk_0" + FOREIGN KEY("schooldayId") + REFERENCES "schoolday"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; +ALTER TABLE ONLY "missed_class" + ADD CONSTRAINT "missed_class_fk_1" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "pupil_authorization" table +-- +ALTER TABLE ONLY "pupil_authorization" + ADD CONSTRAINT "pupil_authorization_fk_0" + FOREIGN KEY("fileId") + REFERENCES "hub_document"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_authorization" + ADD CONSTRAINT "pupil_authorization_fk_1" + FOREIGN KEY("authorizationId") + REFERENCES "authorization"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_authorization" + ADD CONSTRAINT "pupil_authorization_fk_2" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "pupil_book_lending" table +-- +ALTER TABLE ONLY "pupil_book_lending" + ADD CONSTRAINT "pupil_book_lending_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_book_lending" + ADD CONSTRAINT "pupil_book_lending_fk_1" + FOREIGN KEY("libraryBookId") + REFERENCES "library_book"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "pupil_data" table +-- +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_0" + FOREIGN KEY("preSchoolMedicalId") + REFERENCES "pre_school_medical"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_1" + FOREIGN KEY("kindergardenId") + REFERENCES "kindergarden"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_2" + FOREIGN KEY("preSchoolTestId") + REFERENCES "pre_school_test"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_3" + FOREIGN KEY("avatarId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_4" + FOREIGN KEY("avatarAuthId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_5" + FOREIGN KEY("publicMediaAuthDocumentId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_data" + ADD CONSTRAINT "pupil_data_fk_6" + FOREIGN KEY("_kindergardenPupilsKindergardenId") + REFERENCES "kindergarden"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "pupil_list_entry" table +-- +ALTER TABLE ONLY "pupil_list_entry" + ADD CONSTRAINT "pupil_list_entry_fk_0" + FOREIGN KEY("schoolListId") + REFERENCES "school_list"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_list_entry" + ADD CONSTRAINT "pupil_list_entry_fk_1" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "pupil_workbook" table +-- +ALTER TABLE ONLY "pupil_workbook" + ADD CONSTRAINT "pupil_workbook_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; +ALTER TABLE ONLY "pupil_workbook" + ADD CONSTRAINT "pupil_workbook_fk_1" + FOREIGN KEY("workbookId") + REFERENCES "workbook"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "scheduled_lesson" table +-- +ALTER TABLE ONLY "scheduled_lesson" + ADD CONSTRAINT "scheduled_lesson_fk_0" + FOREIGN KEY("subjectId") + REFERENCES "subject"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "scheduled_lesson" + ADD CONSTRAINT "scheduled_lesson_fk_1" + FOREIGN KEY("scheduledAtId") + REFERENCES "timetable_slot"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "scheduled_lesson" + ADD CONSTRAINT "scheduled_lesson_fk_2" + FOREIGN KEY("timetableId") + REFERENCES "timetable"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "scheduled_lesson" + ADD CONSTRAINT "scheduled_lesson_fk_3" + FOREIGN KEY("roomId") + REFERENCES "room"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "scheduled_lesson" + ADD CONSTRAINT "scheduled_lesson_fk_4" + FOREIGN KEY("lessonGroupId") + REFERENCES "lesson_group"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "scheduled_lesson" + ADD CONSTRAINT "scheduled_lesson_fk_5" + FOREIGN KEY("_roomScheduledlessonsRoomId") + REFERENCES "room"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "scheduled_lesson_teacher" table +-- +ALTER TABLE ONLY "scheduled_lesson_teacher" + ADD CONSTRAINT "scheduled_lesson_teacher_fk_0" + FOREIGN KEY("userId") + REFERENCES "user"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "scheduled_lesson_teacher" + ADD CONSTRAINT "scheduled_lesson_teacher_fk_1" + FOREIGN KEY("scheduledLessonId") + REFERENCES "scheduled_lesson"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "school_data" table +-- +ALTER TABLE ONLY "school_data" + ADD CONSTRAINT "school_data_fk_0" + FOREIGN KEY("logoId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "school_data" + ADD CONSTRAINT "school_data_fk_1" + FOREIGN KEY("officialSealId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "schoolday" table +-- +ALTER TABLE ONLY "schoolday" + ADD CONSTRAINT "schoolday_fk_0" + FOREIGN KEY("schoolSemesterId") + REFERENCES "school_semester"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "schoolday_event" table +-- +ALTER TABLE ONLY "schoolday_event" + ADD CONSTRAINT "schoolday_event_fk_0" + FOREIGN KEY("documentId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "schoolday_event" + ADD CONSTRAINT "schoolday_event_fk_1" + FOREIGN KEY("processedDocumentId") + REFERENCES "hub_document"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "schoolday_event" + ADD CONSTRAINT "schoolday_event_fk_2" + FOREIGN KEY("schooldayId") + REFERENCES "schoolday"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "schoolday_event" + ADD CONSTRAINT "schoolday_event_fk_3" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "support_category_goal" table +-- +ALTER TABLE ONLY "support_category_goal" + ADD CONSTRAINT "support_category_goal_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_goal" + ADD CONSTRAINT "support_category_goal_fk_1" + FOREIGN KEY("supportCategoryId") + REFERENCES "support_category"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_goal" + ADD CONSTRAINT "support_category_goal_fk_2" + FOREIGN KEY("_learningSupportPlanSupportgoalsLearningSupportPlanId") + REFERENCES "learning_support_plan"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_goal" + ADD CONSTRAINT "support_category_goal_fk_3" + FOREIGN KEY("_supportCategoryCategorygoalsSupportCategoryId") + REFERENCES "support_category"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_goal" + ADD CONSTRAINT "support_category_goal_fk_4" + FOREIGN KEY("_pupilDataSupportgoalsPupilDataId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "support_category_status" table +-- +ALTER TABLE ONLY "support_category_status" + ADD CONSTRAINT "support_category_status_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_status" + ADD CONSTRAINT "support_category_status_fk_1" + FOREIGN KEY("supportCategoryId") + REFERENCES "support_category"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_status" + ADD CONSTRAINT "support_category_status_fk_2" + FOREIGN KEY("learningSupportPlanId") + REFERENCES "learning_support_plan"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_status" + ADD CONSTRAINT "support_category_status_fk_3" + FOREIGN KEY("_learningSupportPlanSupportcategorystatusesLearningSupporfb7bId") + REFERENCES "learning_support_plan"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_status" + ADD CONSTRAINT "support_category_status_fk_4" + FOREIGN KEY("_supportCategoryCategorystatuesSupportCategoryId") + REFERENCES "support_category"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_category_status" + ADD CONSTRAINT "support_category_status_fk_5" + FOREIGN KEY("_pupilDataSupportcategorystatusesPupilDataId") + REFERENCES "pupil_data"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "support_goal_check" table +-- +ALTER TABLE ONLY "support_goal_check" + ADD CONSTRAINT "support_goal_check_fk_0" + FOREIGN KEY("supportGoalId") + REFERENCES "support_category_goal"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; +ALTER TABLE ONLY "support_goal_check" + ADD CONSTRAINT "support_goal_check_fk_1" + FOREIGN KEY("_supportCategoryGoalGoalchecksSupportCategoryGoalId") + REFERENCES "support_category_goal"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "support_level" table +-- +ALTER TABLE ONLY "support_level" + ADD CONSTRAINT "support_level_fk_0" + FOREIGN KEY("pupilId") + REFERENCES "pupil_data"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "timetable" table +-- +ALTER TABLE ONLY "timetable" + ADD CONSTRAINT "timetable_fk_0" + FOREIGN KEY("schoolSemesterId") + REFERENCES "school_semester"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "timetable_slot" table +-- +ALTER TABLE ONLY "timetable_slot" + ADD CONSTRAINT "timetable_slot_fk_0" + FOREIGN KEY("timetableId") + REFERENCES "timetable"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "user" table +-- +ALTER TABLE ONLY "user" + ADD CONSTRAINT "user_fk_0" + FOREIGN KEY("userInfoId") + REFERENCES "serverpod_user_info"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "user_device" table +-- +ALTER TABLE ONLY "user_device" + ADD CONSTRAINT "user_device_fk_0" + FOREIGN KEY("userInfoId") + REFERENCES "serverpod_user_info"("id") + ON DELETE NO ACTION + ON UPDATE NO ACTION; +ALTER TABLE ONLY "user_device" + ADD CONSTRAINT "user_device_fk_1" + FOREIGN KEY("authId") + REFERENCES "serverpod_auth_key"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "serverpod_log" table +-- +ALTER TABLE ONLY "serverpod_log" + ADD CONSTRAINT "serverpod_log_fk_0" + FOREIGN KEY("sessionLogId") + REFERENCES "serverpod_session_log"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "serverpod_message_log" table +-- +ALTER TABLE ONLY "serverpod_message_log" + ADD CONSTRAINT "serverpod_message_log_fk_0" + FOREIGN KEY("sessionLogId") + REFERENCES "serverpod_session_log"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- +-- Foreign relations for "serverpod_query_log" table +-- +ALTER TABLE ONLY "serverpod_query_log" + ADD CONSTRAINT "serverpod_query_log_fk_0" + FOREIGN KEY("sessionLogId") + REFERENCES "serverpod_session_log"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + + +-- +-- MIGRATION VERSION FOR school_data_hub +-- +INSERT INTO "serverpod_migrations" ("module", "version", "timestamp") + VALUES ('school_data_hub', '20251123092602494', now()) + ON CONFLICT ("module") + DO UPDATE SET "version" = '20251123092602494', "timestamp" = now(); + +-- +-- MIGRATION VERSION FOR serverpod +-- +INSERT INTO "serverpod_migrations" ("module", "version", "timestamp") + VALUES ('serverpod', '20240516151843329', now()) + ON CONFLICT ("module") + DO UPDATE SET "version" = '20240516151843329', "timestamp" = now(); + +-- +-- MIGRATION VERSION FOR serverpod_auth +-- +INSERT INTO "serverpod_migrations" ("module", "version", "timestamp") + VALUES ('serverpod_auth', '20240520102713718', now()) + ON CONFLICT ("module") + DO UPDATE SET "version" = '20240520102713718', "timestamp" = now(); + + +COMMIT; diff --git a/school_data_hub_server/migrations/20251123092602494/definition_project.json b/school_data_hub_server/migrations/20251123092602494/definition_project.json new file mode 100644 index 00000000..336b9331 --- /dev/null +++ b/school_data_hub_server/migrations/20251123092602494/definition_project.json @@ -0,0 +1,4833 @@ +{ + "moduleName": "school_data_hub", + "tables": [ + { + "name": "authorization", + "dartName": "Authorization", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('authorization_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "authorization_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "book", + "dartName": "Book", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('book_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "title", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "author", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "readingLevel", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "imagePath", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "book_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "book_id_unique_idx", + "elements": [ + { + "type": 0, + "definition": "isbn" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "book_tag", + "dartName": "BookTag", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('book_tag_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "book_tag_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "book_tagging", + "dartName": "BookTagging", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('book_tagging_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "bookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "bookTagId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "book_tagging_fk_0", + "columns": [ + "bookId" + ], + "referenceTable": "book", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "book_tagging_fk_1", + "columns": [ + "bookTagId" + ], + "referenceTable": "book_tag", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "book_tagging_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "book_tagging_index_idx", + "elements": [ + { + "type": 0, + "definition": "bookId" + }, + { + "type": 0, + "definition": "bookTagId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "competence", + "dartName": "Competence", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "parentCompetence", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "level", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "indicators", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "order", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "competence_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_check", + "dartName": "CompetenceCheck", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_check_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "checkId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "valueFactor", + "columnType": 3, + "isNullable": false, + "dartType": "double" + }, + { + "name": "groupCheckId", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "groupCheckName", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_check_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_check_fk_1", + "columns": [ + "competenceId" + ], + "referenceTable": "competence", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_check_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_goal", + "dartName": "CompetenceGoal", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_goal_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "strategies", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "score", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "achievedAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_goal_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_goal_fk_1", + "columns": [ + "competenceId" + ], + "referenceTable": "competence", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_goal_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_report", + "dartName": "CompetenceReport", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_report_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "reportId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "achievement", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "achievedAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_report_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_report_fk_1", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_report_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_report_check", + "dartName": "CompetenceReportCheck", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_report_check_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "achievement", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "competenceReportId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "competence_report_check_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_report_check_fk_1", + "columns": [ + "competenceId" + ], + "referenceTable": "competence_report_item", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "competence_report_check_fk_2", + "columns": [ + "competenceReportId" + ], + "referenceTable": "competence_report", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "competence_report_check_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "competence_report_item", + "dartName": "CompetenceReportItem", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('competence_report_item_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "parentItem", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "level", + "columnType": 8, + "isNullable": true, + "dartType": "List<String>?" + }, + { + "name": "order", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "competence_report_item_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "compulsory_room", + "dartName": "CompulsoryRoom", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('compulsory_room_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "roomId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "roomType", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:MatrixRoomType" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "compulsory_room_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "credit_transaction", + "dartName": "CreditTransaction", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('credit_transaction_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "sender", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "receiver", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "amount", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "dateTime", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "description", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "_pupilDataCredittransactionsPupilDataId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "credit_transaction_fk_0", + "columns": [ + "_pupilDataCredittransactionsPupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "credit_transaction_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "reciever_idx", + "elements": [ + { + "type": 0, + "definition": "receiver" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "sender_idx", + "elements": [ + { + "type": 0, + "definition": "sender" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "hub_document", + "dartName": "HubDocument", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('hub_document_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "documentId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "documentPath", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "_pupilBookLendingPupilbooklendingfilesPupilBookLendingId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_competenceCheckDocumentsCompetenceCheckId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_competenceGoalDocumentsCompetenceGoalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportCategoryStatusDocumentsSupportCategoryStatusId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportGoalCheckDocumentsSupportGoalCheckId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_preSchoolMedicalPreschoolmedicalfilesPreSchoolMedicalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_preSchoolTestPreschooltestdocumentsPreSchoolTestId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "hub_document_fk_0", + "columns": [ + "_pupilBookLendingPupilbooklendingfilesPupilBookLendingId" + ], + "referenceTable": "pupil_book_lending", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_1", + "columns": [ + "_competenceCheckDocumentsCompetenceCheckId" + ], + "referenceTable": "competence_check", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_2", + "columns": [ + "_competenceGoalDocumentsCompetenceGoalId" + ], + "referenceTable": "competence_goal", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_3", + "columns": [ + "_supportCategoryStatusDocumentsSupportCategoryStatusId" + ], + "referenceTable": "support_category_status", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_4", + "columns": [ + "_supportGoalCheckDocumentsSupportGoalCheckId" + ], + "referenceTable": "support_goal_check", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_5", + "columns": [ + "_preSchoolMedicalPreschoolmedicalfilesPreSchoolMedicalId" + ], + "referenceTable": "pre_school_medical", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "hub_document_fk_6", + "columns": [ + "_preSchoolTestPreschooltestdocumentsPreSchoolTestId" + ], + "referenceTable": "pre_school_test", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "hub_document_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "kindergarden", + "dartName": "Kindergarden", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('kindergarden_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "phone", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "address", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "contactPerson", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "kindergarden_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "last_pupil_identities_update", + "dartName": "LastPupilIdentiesUpdate", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('last_pupil_identities_update_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "date", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "last_pupil_identities_update_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "learning_support_plan", + "dartName": "LearningSupportPlan", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('learning_support_plan_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "planId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "number", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "socialPedagogue", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "proffesionalsInvolved", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "strengthsDescription", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "problemsDescription", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "learningSupportLevelId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "learning_support_plan_fk_0", + "columns": [ + "learningSupportLevelId" + ], + "referenceTable": "support_level", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "learning_support_plan_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "learning_support_plan_fk_2", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "learning_support_plan_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson", + "dartName": "Lesson", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "subjectId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_fk_0", + "columns": [ + "subjectId" + ], + "referenceTable": "subject", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson_attendance", + "dartName": "LessonAttendance", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_attendance_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "lessonId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "modifiedAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_attendance_fk_0", + "columns": [ + "lessonId" + ], + "referenceTable": "lesson", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "lesson_attendance_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_attendance_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson_group", + "dartName": "LessonGroup", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_group_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "color", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "timetableId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "modifiedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_group_fk_0", + "columns": [ + "timetableId" + ], + "referenceTable": "timetable", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_group_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "lesson_group_pupil", + "dartName": "ScheduledLessonGroupMembership", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_group_pupil_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "lessonGroupId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilDataId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_group_pupil_fk_0", + "columns": [ + "lessonGroupId" + ], + "referenceTable": "lesson_group", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "lesson_group_pupil_fk_1", + "columns": [ + "pupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_group_pupil_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "lesson_group_membership_index_idx", + "elements": [ + { + "type": 0, + "definition": "lessonGroupId" + }, + { + "type": 0, + "definition": "pupilDataId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "lesson_teacher", + "dartName": "LessonTeacher", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('lesson_teacher_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "scheduledLessonId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "lesson_teacher_fk_0", + "columns": [ + "userId" + ], + "referenceTable": "user", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "lesson_teacher_fk_1", + "columns": [ + "scheduledLessonId" + ], + "referenceTable": "lesson", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "lesson_teacher_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "lesson_teacher_unique_idx", + "elements": [ + { + "type": 0, + "definition": "userId" + }, + { + "type": 0, + "definition": "scheduledLessonId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "library_book", + "dartName": "LibraryBook", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('library_book_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "libraryId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "bookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "locationId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "available", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + } + ], + "foreignKeys": [ + { + "constraintName": "library_book_fk_0", + "columns": [ + "bookId" + ], + "referenceTable": "book", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "library_book_fk_1", + "columns": [ + "locationId" + ], + "referenceTable": "library_book_location", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "library_book_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "library_id_unique_idx", + "elements": [ + { + "type": 0, + "definition": "libraryId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "library_book_location", + "dartName": "LibraryBookLocation", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('library_book_location_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "location", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "library_book_location_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "location_unique_idx", + "elements": [ + { + "type": 0, + "definition": "location" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "missed_class", + "dartName": "MissedSchoolday", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('missed_class_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "missedType", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:MissedType" + }, + { + "name": "unexcused", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "contacted", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:ContactedType" + }, + { + "name": "returned", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "returnedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "writtenExcuse", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "minutesLate", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "schooldayId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "missed_class_fk_0", + "columns": [ + "schooldayId" + ], + "referenceTable": "schoolday", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "missed_class_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "missed_class_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "schoolday_pupil_data_idx", + "elements": [ + { + "type": 0, + "definition": "schooldayId" + }, + { + "type": 0, + "definition": "pupilId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "pre_school_medical", + "dartName": "PreSchoolMedical", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pre_school_medical_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "preschoolMedicalStatus", + "columnType": 0, + "isNullable": true, + "dartType": "protocol:PreSchoolMedicalStatus?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "updatedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "updatedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "pre_school_medical_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pre_school_test", + "dartName": "PreSchoolTest", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pre_school_test_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "careNeedsIntensity", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "pre_school_test_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_authorization", + "dartName": "PupilAuthorization", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_authorization_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "status", + "columnType": 1, + "isNullable": true, + "dartType": "bool?" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "fileId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "authorizationId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_authorization_fk_0", + "columns": [ + "fileId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "pupil_authorization_fk_1", + "columns": [ + "authorizationId" + ], + "referenceTable": "authorization", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_authorization_fk_2", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "pupil_authorization_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_book_lending", + "dartName": "PupilBookLending", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_book_lending_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "lendingId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "status", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "lentAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "lentBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "returnedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "receivedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "libraryBookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_book_lending_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_book_lending_fk_1", + "columns": [ + "libraryBookId" + ], + "referenceTable": "library_book", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "pupil_book_lending_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_data", + "dartName": "PupilData", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_data_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "status", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:PupilStatus" + }, + { + "name": "internalId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "password", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "preSchoolMedicalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "kindergardenId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "kindergardenData", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:KindergardenInfo?" + }, + { + "name": "preSchoolTestId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "avatarId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "avatarAuthId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "publicMediaAuth", + "columnType": 8, + "isNullable": false, + "dartType": "protocol:PublicMediaAuth" + }, + { + "name": "publicMediaAuthDocumentId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "contact", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "communicationPupil", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:CommunicationSkills?" + }, + { + "name": "specialInformation", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "tutorInfo", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:TutorInfo?" + }, + { + "name": "afterSchoolCare", + "columnType": 8, + "isNullable": true, + "dartType": "protocol:AfterSchoolCare?" + }, + { + "name": "credit", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "creditEarned", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "schoolyearHeldBackAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "swimmer", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "_kindergardenPupilsKindergardenId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_data_fk_0", + "columns": [ + "preSchoolMedicalId" + ], + "referenceTable": "pre_school_medical", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_1", + "columns": [ + "kindergardenId" + ], + "referenceTable": "kindergarden", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_2", + "columns": [ + "preSchoolTestId" + ], + "referenceTable": "pre_school_test", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_3", + "columns": [ + "avatarId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_4", + "columns": [ + "avatarAuthId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_5", + "columns": [ + "publicMediaAuthDocumentId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "pupil_data_fk_6", + "columns": [ + "_kindergardenPupilsKindergardenId" + ], + "referenceTable": "kindergarden", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "pupil_data_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "pupil_data_status_idx", + "elements": [ + { + "type": 0, + "definition": "status" + }, + { + "type": 0, + "definition": "internalId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + }, + { + "indexName": "pupil_data_internal_id_idx", + "elements": [ + { + "type": 0, + "definition": "internalId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "pupil_list_entry", + "dartName": "PupilListEntry", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_list_entry_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "status", + "columnType": 1, + "isNullable": true, + "dartType": "bool?" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "entryBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "schoolListId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_list_entry_fk_0", + "columns": [ + "schoolListId" + ], + "referenceTable": "school_list", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "pupil_list_entry_fk_1", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "pupil_list_entry_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "pupil_workbook", + "dartName": "PupilWorkbook", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('pupil_workbook_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "finishedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "workbookId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "pupil_workbook_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "pupil_workbook_fk_1", + "columns": [ + "workbookId" + ], + "referenceTable": "workbook", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "pupil_workbook_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "room", + "dartName": "Classroom", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('room_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "roomCode", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "roomName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "room_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "scheduled_lesson", + "dartName": "ScheduledLesson", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('scheduled_lesson_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "active", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "subjectId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "scheduledAtId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "timetableSlotOrder", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "timetableId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "mainTeacherId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "lessonId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "roomId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "lessonGroupId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "modifiedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "recordtest", + "columnType": 8, + "isNullable": true, + "dartType": "( {int testint, String testString})?" + }, + { + "name": "_roomScheduledlessonsRoomId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "scheduled_lesson_fk_0", + "columns": [ + "subjectId" + ], + "referenceTable": "subject", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_1", + "columns": [ + "scheduledAtId" + ], + "referenceTable": "timetable_slot", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_2", + "columns": [ + "timetableId" + ], + "referenceTable": "timetable", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_3", + "columns": [ + "roomId" + ], + "referenceTable": "room", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_4", + "columns": [ + "lessonGroupId" + ], + "referenceTable": "lesson_group", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_fk_5", + "columns": [ + "_roomScheduledlessonsRoomId" + ], + "referenceTable": "room", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "scheduled_lesson_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "scheduled_lesson_teacher", + "dartName": "ScheduledLessonTeacher", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('scheduled_lesson_teacher_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "scheduledLessonId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "scheduled_lesson_teacher_fk_0", + "columns": [ + "userId" + ], + "referenceTable": "user", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "scheduled_lesson_teacher_fk_1", + "columns": [ + "scheduledLessonId" + ], + "referenceTable": "scheduled_lesson", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "scheduled_lesson_teacher_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "scheduled_lesson_teacher_unique_idx", + "elements": [ + { + "type": 0, + "definition": "userId" + }, + { + "type": 0, + "definition": "scheduledLessonId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "school_data", + "dartName": "SchoolData", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('school_data_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "officialName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "address", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "schoolNumber", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "telephoneNumber", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "email", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "website", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "logoId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "officialSealId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "school_data_fk_0", + "columns": [ + "logoId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "school_data_fk_1", + "columns": [ + "officialSealId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "school_data_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "school_list", + "dartName": "SchoolList", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('school_list_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "listId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "archived", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "public", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "authorizedUsers", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "school_list_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "school_semester", + "dartName": "SchoolSemester", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('school_semester_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "schoolYear", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "isFirst", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "startDate", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "endDate", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "classConferenceDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "supportConferenceDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "reportConferenceDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "reportSignedDate", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "school_semester_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "schoolday", + "dartName": "Schoolday", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('schoolday_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "schoolday", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "schoolday_fk_0", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "schoolday_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "schoolday_event", + "dartName": "SchooldayEvent", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('schoolday_event_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "eventId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "eventType", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:SchooldayEventType" + }, + { + "name": "eventReason", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "processed", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "processedBy", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "processedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "documentId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "processedDocumentId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "schooldayId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "schoolday_event_fk_0", + "columns": [ + "documentId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "schoolday_event_fk_1", + "columns": [ + "processedDocumentId" + ], + "referenceTable": "hub_document", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "schoolday_event_fk_2", + "columns": [ + "schooldayId" + ], + "referenceTable": "schoolday", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "schoolday_event_fk_3", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "schoolday_event_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "subject", + "dartName": "Subject", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('subject_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "publicId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "description", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "color", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modifiedBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "subject_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_category", + "dartName": "SupportCategory", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_category_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "categoryId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "parentCategory", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "support_category_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_category_goal", + "dartName": "SupportGoal", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_category_goal_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "goalId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "achievedAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "description", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "strategies", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "supportCategoryId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "_learningSupportPlanSupportgoalsLearningSupportPlanId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportCategoryCategorygoalsSupportCategoryId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_pupilDataSupportgoalsPupilDataId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "support_category_goal_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_goal_fk_1", + "columns": [ + "supportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "support_category_goal_fk_2", + "columns": [ + "_learningSupportPlanSupportgoalsLearningSupportPlanId" + ], + "referenceTable": "learning_support_plan", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_goal_fk_3", + "columns": [ + "_supportCategoryCategorygoalsSupportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_goal_fk_4", + "columns": [ + "_pupilDataSupportgoalsPupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "support_category_goal_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_category_status", + "dartName": "SupportCategoryStatus", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_category_status_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "supportCategoryId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "learningSupportPlanId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "_learningSupportPlanSupportcategorystatusesLearningSupporfb7bId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_supportCategoryCategorystatuesSupportCategoryId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "_pupilDataSupportcategorystatusesPupilDataId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "support_category_status_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_1", + "columns": [ + "supportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_2", + "columns": [ + "learningSupportPlanId" + ], + "referenceTable": "learning_support_plan", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_3", + "columns": [ + "_learningSupportPlanSupportcategorystatusesLearningSupporfb7bId" + ], + "referenceTable": "learning_support_plan", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_4", + "columns": [ + "_supportCategoryCategorystatuesSupportCategoryId" + ], + "referenceTable": "support_category", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "support_category_status_fk_5", + "columns": [ + "_pupilDataSupportcategorystatusesPupilDataId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "support_category_status_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_goal_check", + "dartName": "SupportGoalCheck", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_goal_check_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "checkId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "score", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "supportGoalId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "_supportCategoryGoalGoalchecksSupportCategoryGoalId", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + } + ], + "foreignKeys": [ + { + "constraintName": "support_goal_check_fk_0", + "columns": [ + "supportGoalId" + ], + "referenceTable": "support_category_goal", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + }, + { + "constraintName": "support_goal_check_fk_1", + "columns": [ + "_supportCategoryGoalGoalchecksSupportCategoryGoalId" + ], + "referenceTable": "support_category_goal", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "support_goal_check_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "support_level", + "dartName": "SupportLevel", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('support_level_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "level", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "comment", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "pupilId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "support_level_fk_0", + "columns": [ + "pupilId" + ], + "referenceTable": "pupil_data", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "support_level_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "timetable", + "dartName": "Timetable", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('timetable_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "active", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "startsAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "endsAt", + "columnType": 4, + "isNullable": true, + "dartType": "DateTime?" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "schoolSemesterId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "createdBy", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "createdAt", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "modified", + "columnType": 8, + "isNullable": true, + "dartType": "List<( {String modifiedBy, DateTime modifiedAt})>?" + } + ], + "foreignKeys": [ + { + "constraintName": "timetable_fk_0", + "columns": [ + "schoolSemesterId" + ], + "referenceTable": "school_semester", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "timetable_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "timetable_school_semester_idx", + "elements": [ + { + "type": 0, + "definition": "schoolSemesterId" + } + ], + "type": "btree", + "isUnique": false, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "timetable_slot", + "dartName": "TimetableSlot", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('timetable_slot_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "day", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:Weekday" + }, + { + "name": "startTime", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "endTime", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "timetableId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "timetable_slot_fk_0", + "columns": [ + "timetableId" + ], + "referenceTable": "timetable", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + } + ], + "indexes": [ + { + "indexName": "timetable_slot_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + }, + { + "name": "user", + "dartName": "User", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('user_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userInfoId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "role", + "columnType": 0, + "isNullable": false, + "dartType": "protocol:Role" + }, + { + "name": "matrixUserId", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "timeUnits", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "reliefTimeUnits", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "pupilsAuth", + "columnType": 8, + "isNullable": true, + "dartType": "Set<int>?" + }, + { + "name": "schooldayEventsProcessingTeam", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "credit", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "userFlags", + "columnType": 8, + "isNullable": false, + "dartType": "protocol:UserFlags" + } + ], + "foreignKeys": [ + { + "constraintName": "user_fk_0", + "columns": [ + "userInfoId" + ], + "referenceTable": "serverpod_user_info", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "user_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "user_info_id_unique_idx", + "elements": [ + { + "type": 0, + "definition": "userInfoId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "user_device", + "dartName": "UserDevice", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('user_device_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "userInfoId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "deviceId", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "deviceName", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "lastLogin", + "columnType": 4, + "isNullable": false, + "dartType": "DateTime" + }, + { + "name": "isActive", + "columnType": 1, + "isNullable": false, + "dartType": "bool" + }, + { + "name": "authId", + "columnType": 6, + "isNullable": false, + "dartType": "int" + } + ], + "foreignKeys": [ + { + "constraintName": "user_device_fk_0", + "columns": [ + "userInfoId" + ], + "referenceTable": "serverpod_user_info", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 3 + }, + { + "constraintName": "user_device_fk_1", + "columns": [ + "authId" + ], + "referenceTable": "serverpod_auth_key", + "referenceTableSchema": "public", + "referenceColumns": [ + "id" + ], + "onUpdate": 3, + "onDelete": 4 + } + ], + "indexes": [ + { + "indexName": "user_device_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + }, + { + "indexName": "auth_key_user_device_idx", + "elements": [ + { + "type": 0, + "definition": "authId" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": false + } + ], + "managed": true + }, + { + "name": "workbook", + "dartName": "Workbook", + "module": "school_data_hub", + "schema": "public", + "columns": [ + { + "name": "id", + "columnType": 6, + "isNullable": false, + "columnDefault": "nextval('workbook_id_seq'::regclass)", + "dartType": "int?" + }, + { + "name": "isbn", + "columnType": 6, + "isNullable": false, + "dartType": "int" + }, + { + "name": "name", + "columnType": 0, + "isNullable": false, + "dartType": "String" + }, + { + "name": "subject", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "level", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + }, + { + "name": "amount", + "columnType": 6, + "isNullable": true, + "dartType": "int?" + }, + { + "name": "imageUrl", + "columnType": 0, + "isNullable": false, + "dartType": "String" + } + ], + "foreignKeys": [], + "indexes": [ + { + "indexName": "workbook_pkey", + "elements": [ + { + "type": 0, + "definition": "id" + } + ], + "type": "btree", + "isUnique": true, + "isPrimary": true + } + ], + "managed": true + } + ], + "installedModules": [ + { + "module": "serverpod", + "version": "20240516151843329" + }, + { + "module": "serverpod_auth", + "version": "20240520102713718" + } + ], + "migrationApiVersion": 1 +} \ No newline at end of file diff --git a/school_data_hub_server/migrations/20251123092602494/migration.json b/school_data_hub_server/migrations/20251123092602494/migration.json new file mode 100644 index 00000000..3d250ef2 --- /dev/null +++ b/school_data_hub_server/migrations/20251123092602494/migration.json @@ -0,0 +1,28 @@ +{ + "actions": [ + { + "type": "alterTable", + "alterTable": { + "name": "user", + "schema": "public", + "addColumns": [ + { + "name": "schooldayEventsProcessingTeam", + "columnType": 0, + "isNullable": true, + "dartType": "String?" + } + ], + "deleteColumns": [], + "modifyColumns": [], + "addIndexes": [], + "deleteIndexes": [], + "addForeignKeys": [], + "deleteForeignKeys": [], + "warnings": [] + } + } + ], + "warnings": [], + "migrationApiVersion": 1 +} \ No newline at end of file diff --git a/school_data_hub_server/migrations/20251123092602494/migration.sql b/school_data_hub_server/migrations/20251123092602494/migration.sql new file mode 100644 index 00000000..5670d71f --- /dev/null +++ b/school_data_hub_server/migrations/20251123092602494/migration.sql @@ -0,0 +1,33 @@ +BEGIN; + +-- +-- ACTION ALTER TABLE +-- +ALTER TABLE "user" ADD COLUMN "schooldayEventsProcessingTeam" text; + +-- +-- MIGRATION VERSION FOR school_data_hub +-- +INSERT INTO "serverpod_migrations" ("module", "version", "timestamp") + VALUES ('school_data_hub', '20251123092602494', now()) + ON CONFLICT ("module") + DO UPDATE SET "version" = '20251123092602494', "timestamp" = now(); + +-- +-- MIGRATION VERSION FOR serverpod +-- +INSERT INTO "serverpod_migrations" ("module", "version", "timestamp") + VALUES ('serverpod', '20240516151843329', now()) + ON CONFLICT ("module") + DO UPDATE SET "version" = '20240516151843329', "timestamp" = now(); + +-- +-- MIGRATION VERSION FOR serverpod_auth +-- +INSERT INTO "serverpod_migrations" ("module", "version", "timestamp") + VALUES ('serverpod_auth', '20240520102713718', now()) + ON CONFLICT ("module") + DO UPDATE SET "version" = '20240520102713718', "timestamp" = now(); + + +COMMIT; diff --git a/school_data_hub_server/migrations/migration_registry.txt b/school_data_hub_server/migrations/migration_registry.txt index 1ad1b97e..5940708c 100644 --- a/school_data_hub_server/migrations/migration_registry.txt +++ b/school_data_hub_server/migrations/migration_registry.txt @@ -11,3 +11,5 @@ 20250831155458451 20250831205613494 20250917215220208 +20251121184735230 +20251123092602494 diff --git a/school_data_hub_server/test/integration/test_tools/serverpod_test_tools.dart b/school_data_hub_server/test/integration/test_tools/serverpod_test_tools.dart index 997edb0f..38f36b87 100644 --- a/school_data_hub_server/test/integration/test_tools/serverpod_test_tools.dart +++ b/school_data_hub_server/test/integration/test_tools/serverpod_test_tools.dart @@ -78,41 +78,43 @@ import 'package:school_data_hub_server/src/generated/_features/pupil/models/pupi as _i35; import 'package:school_data_hub_server/src/generated/_features/learning_support/models/support_level.dart' as _i36; -import 'package:school_data_hub_server/src/generated/_features/school_data/models/school_data.dart' +import 'package:school_data_hub_server/src/generated/_features/pupil/models/pupil_data/after_school_care/after_school_care.dart' as _i37; -import 'package:school_data_hub_server/src/generated/_features/school_lists/models/school_list.dart' +import 'package:school_data_hub_server/src/generated/_features/school_data/models/school_data.dart' as _i38; -import 'package:school_data_hub_server/src/generated/_features/school_lists/models/pupil_entry.dart' +import 'package:school_data_hub_server/src/generated/_features/school_lists/models/school_list.dart' as _i39; -import 'package:school_data_hub_server/src/generated/_features/schoolday/models/school_semester.dart' +import 'package:school_data_hub_server/src/generated/_features/school_lists/models/pupil_entry.dart' as _i40; -import 'package:school_data_hub_server/src/generated/_features/schoolday/models/schoolday.dart' +import 'package:school_data_hub_server/src/generated/_features/schoolday/models/school_semester.dart' as _i41; -import 'package:school_data_hub_server/src/generated/_features/schoolday_events/models/schoolday_event.dart' +import 'package:school_data_hub_server/src/generated/_features/schoolday/models/schoolday.dart' as _i42; -import 'package:school_data_hub_server/src/generated/_features/schoolday_events/models/schoolday_event_type.dart' +import 'package:school_data_hub_server/src/generated/_features/schoolday_events/models/schoolday_event.dart' as _i43; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/classroom.dart' +import 'package:school_data_hub_server/src/generated/_features/schoolday_events/models/schoolday_event_type.dart' as _i44; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/lesson/lesson_group.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/classroom.dart' as _i45; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/scheduled_lesson.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/lesson/lesson_group.dart' as _i46; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/lesson_group_membership.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/scheduled_lesson.dart' as _i47; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/subject.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/lesson_group_membership.dart' as _i48; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/timetable.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/subject.dart' as _i49; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/timetable_slot.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/timetable.dart' as _i50; -import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/weekday_enum.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/timetable_slot.dart' as _i51; -import 'package:school_data_hub_server/src/generated/_features/workbooks/models/pupil_workbook.dart' +import 'package:school_data_hub_server/src/generated/_features/timetable/models/scheduled_lesson/weekday_enum.dart' as _i52; -import 'package:school_data_hub_server/src/generated/_features/workbooks/models/workbook.dart' +import 'package:school_data_hub_server/src/generated/_features/workbooks/models/pupil_workbook.dart' as _i53; -import 'dart:typed_data' as _i54; +import 'package:school_data_hub_server/src/generated/_features/workbooks/models/workbook.dart' + as _i54; +import 'dart:typed_data' as _i55; import 'package:school_data_hub_server/src/generated/protocol.dart'; import 'package:school_data_hub_server/src/generated/endpoints.dart'; export 'package:serverpod_test/serverpod_test_public_exports.dart'; @@ -442,6 +444,9 @@ class _AdminEndpoint { required int reliefTimeUnits, required List<String> scopeNames, required bool isTester, + String? schooldayEventsProcessingTeam, + String? matrixUserId, + int? credit, }) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -464,6 +469,9 @@ class _AdminEndpoint { 'reliefTimeUnits': reliefTimeUnits, 'scopeNames': scopeNames, 'isTester': isTester, + 'schooldayEventsProcessingTeam': schooldayEventsProcessingTeam, + 'matrixUserId': matrixUserId, + 'credit': credit, }), serializationManager: _serializationManager, ); @@ -4075,6 +4083,39 @@ class _PupilUpdateEndpoint { } }); } + + _i3.Future<_i6.PupilData> updateAfterSchoolCare( + _i1.TestSessionBuilder sessionBuilder, + int pupilId, + _i37.AfterSchoolCare afterSchoolCare, + ) async { + return _i1.callAwaitableFunctionAndHandleExceptions(() async { + var _localUniqueSession = + (sessionBuilder as _i1.InternalTestSessionBuilder).internalBuild( + endpoint: 'pupilUpdate', + method: 'updateAfterSchoolCare', + ); + try { + var _localCallContext = await _endpointDispatch.getMethodCallContext( + createSessionCallback: (_) => _localUniqueSession, + endpointPath: 'pupilUpdate', + methodName: 'updateAfterSchoolCare', + parameters: _i1.testObjectToJson({ + 'pupilId': pupilId, + 'afterSchoolCare': afterSchoolCare, + }), + serializationManager: _serializationManager, + ); + var _localReturnValue = await (_localCallContext.method.call( + _localUniqueSession, + _localCallContext.arguments, + ) as _i3.Future<_i6.PupilData>); + return _localReturnValue; + } finally { + await _localUniqueSession.close(); + } + }); + } } class _SchoolDataEndpoint { @@ -4087,9 +4128,9 @@ class _SchoolDataEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<_i37.SchoolData> postSchoolData( + _i3.Future<_i38.SchoolData> postSchoolData( _i1.TestSessionBuilder sessionBuilder, - _i37.SchoolData schoolData, + _i38.SchoolData schoolData, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4108,7 +4149,7 @@ class _SchoolDataEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i37.SchoolData>); + ) as _i3.Future<_i38.SchoolData>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4116,7 +4157,7 @@ class _SchoolDataEndpoint { }); } - _i3.Future<_i37.SchoolData?> getSchoolData( + _i3.Future<_i38.SchoolData?> getSchoolData( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4135,7 +4176,7 @@ class _SchoolDataEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i37.SchoolData?>); + ) as _i3.Future<_i38.SchoolData?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4154,7 +4195,7 @@ class _SchoolListEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<List<_i38.SchoolList>> fetchSchoolLists( + _i3.Future<List<_i39.SchoolList>> fetchSchoolLists( _i1.TestSessionBuilder sessionBuilder, String userName, ) async { @@ -4175,7 +4216,7 @@ class _SchoolListEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i38.SchoolList>>); + ) as _i3.Future<List<_i39.SchoolList>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4183,7 +4224,7 @@ class _SchoolListEndpoint { }); } - _i3.Future<_i38.SchoolList> postSchoolList( + _i3.Future<_i39.SchoolList> postSchoolList( _i1.TestSessionBuilder sessionBuilder, String name, String description, @@ -4214,7 +4255,7 @@ class _SchoolListEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i38.SchoolList>); + ) as _i3.Future<_i39.SchoolList>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4222,7 +4263,7 @@ class _SchoolListEndpoint { }); } - _i3.Future<_i38.SchoolList> updateSchoolList( + _i3.Future<_i39.SchoolList> updateSchoolList( _i1.TestSessionBuilder sessionBuilder, int listId, String? name, @@ -4255,7 +4296,7 @@ class _SchoolListEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i38.SchoolList>); + ) as _i3.Future<_i39.SchoolList>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4292,9 +4333,9 @@ class _SchoolListEndpoint { }); } - _i3.Future<_i39.PupilListEntry> updatePupilListEntry( + _i3.Future<_i40.PupilListEntry> updatePupilListEntry( _i1.TestSessionBuilder sessionBuilder, - _i39.PupilListEntry entry, + _i40.PupilListEntry entry, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4313,7 +4354,7 @@ class _SchoolListEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i39.PupilListEntry>); + ) as _i3.Future<_i40.PupilListEntry>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4332,7 +4373,7 @@ class _SchooldayAdminEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<_i40.SchoolSemester> createSchoolSemester( + _i3.Future<_i41.SchoolSemester> createSchoolSemester( _i1.TestSessionBuilder sessionBuilder, String schoolYearName, DateTime startDate, @@ -4369,7 +4410,7 @@ class _SchooldayAdminEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i40.SchoolSemester>); + ) as _i3.Future<_i41.SchoolSemester>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4377,7 +4418,7 @@ class _SchooldayAdminEndpoint { }); } - _i3.Future<List<_i40.SchoolSemester>> getAllSchoolSemesters( + _i3.Future<List<_i41.SchoolSemester>> getAllSchoolSemesters( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4396,7 +4437,7 @@ class _SchooldayAdminEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i40.SchoolSemester>>); + ) as _i3.Future<List<_i41.SchoolSemester>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4404,7 +4445,7 @@ class _SchooldayAdminEndpoint { }); } - _i3.Future<_i40.SchoolSemester?> getCurrentSchoolSemester( + _i3.Future<_i41.SchoolSemester?> getCurrentSchoolSemester( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4423,7 +4464,7 @@ class _SchooldayAdminEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i40.SchoolSemester?>); + ) as _i3.Future<_i41.SchoolSemester?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4433,7 +4474,7 @@ class _SchooldayAdminEndpoint { _i3.Future<bool> updateSchoolSemester( _i1.TestSessionBuilder sessionBuilder, - _i40.SchoolSemester schoolSemester, + _i41.SchoolSemester schoolSemester, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4462,7 +4503,7 @@ class _SchooldayAdminEndpoint { _i3.Future<bool> deleteSchoolSemester( _i1.TestSessionBuilder sessionBuilder, - _i40.SchoolSemester semester, + _i41.SchoolSemester semester, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4489,7 +4530,7 @@ class _SchooldayAdminEndpoint { }); } - _i3.Future<_i41.Schoolday?> createSchoolday( + _i3.Future<_i42.Schoolday?> createSchoolday( _i1.TestSessionBuilder sessionBuilder, DateTime date, ) async { @@ -4510,7 +4551,7 @@ class _SchooldayAdminEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i41.Schoolday?>); + ) as _i3.Future<_i42.Schoolday?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4518,7 +4559,7 @@ class _SchooldayAdminEndpoint { }); } - _i3.Future<List<_i41.Schoolday>> createSchooldays( + _i3.Future<List<_i42.Schoolday>> createSchooldays( _i1.TestSessionBuilder sessionBuilder, List<DateTime> dates, ) async { @@ -4539,7 +4580,7 @@ class _SchooldayAdminEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i41.Schoolday>>); + ) as _i3.Future<List<_i42.Schoolday>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4578,7 +4619,7 @@ class _SchooldayAdminEndpoint { _i3.Future<bool> updateSchoolday( _i1.TestSessionBuilder sessionBuilder, - _i41.Schoolday schoolday, + _i42.Schoolday schoolday, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4616,7 +4657,7 @@ class _SchooldayEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<List<_i40.SchoolSemester>> getSchoolSemesters( + _i3.Future<List<_i41.SchoolSemester>> getSchoolSemesters( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4635,7 +4676,7 @@ class _SchooldayEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i40.SchoolSemester>>); + ) as _i3.Future<List<_i41.SchoolSemester>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4643,7 +4684,7 @@ class _SchooldayEndpoint { }); } - _i3.Future<List<_i41.Schoolday>> getSchooldays( + _i3.Future<List<_i42.Schoolday>> getSchooldays( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4662,7 +4703,7 @@ class _SchooldayEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i41.Schoolday>>); + ) as _i3.Future<List<_i42.Schoolday>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4681,7 +4722,7 @@ class _SchooldayEventEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<List<_i42.SchooldayEvent>> fetchSchooldayEvents( + _i3.Future<List<_i43.SchooldayEvent>> fetchSchooldayEvents( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4700,7 +4741,7 @@ class _SchooldayEventEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i42.SchooldayEvent>>); + ) as _i3.Future<List<_i43.SchooldayEvent>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4708,11 +4749,13 @@ class _SchooldayEventEndpoint { }); } - _i3.Future<_i42.SchooldayEvent> createSchooldayEvent( + _i3.Future<_i43.SchooldayEvent> createSchooldayEvent( _i1.TestSessionBuilder sessionBuilder, { required int pupilId, + required String pupilNameAndGroup, + required String dateTimeAsString, required int schooldayId, - required _i43.SchooldayEventType type, + required _i44.SchooldayEventType type, required String reason, required String createdBy, required String tutor, @@ -4730,6 +4773,8 @@ class _SchooldayEventEndpoint { methodName: 'createSchooldayEvent', parameters: _i1.testObjectToJson({ 'pupilId': pupilId, + 'pupilNameAndGroup': pupilNameAndGroup, + 'dateTimeAsString': dateTimeAsString, 'schooldayId': schooldayId, 'type': type, 'reason': reason, @@ -4741,7 +4786,7 @@ class _SchooldayEventEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i42.SchooldayEvent>); + ) as _i3.Future<_i43.SchooldayEvent>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4749,9 +4794,9 @@ class _SchooldayEventEndpoint { }); } - _i3.Future<_i42.SchooldayEvent> updateSchooldayEvent( + _i3.Future<_i43.SchooldayEvent> updateSchooldayEvent( _i1.TestSessionBuilder sessionBuilder, - _i42.SchooldayEvent schooldayEvent, + _i43.SchooldayEvent schooldayEvent, bool changedProcessedToFalse, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { @@ -4774,7 +4819,7 @@ class _SchooldayEventEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i42.SchooldayEvent>); + ) as _i3.Future<_i43.SchooldayEvent>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4812,7 +4857,7 @@ class _SchooldayEventEndpoint { }); } - _i3.Future<_i42.SchooldayEvent> updateSchooldayEventFile( + _i3.Future<_i43.SchooldayEvent> updateSchooldayEventFile( _i1.TestSessionBuilder sessionBuilder, int schooldayEventId, String filePath, @@ -4841,7 +4886,7 @@ class _SchooldayEventEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i42.SchooldayEvent>); + ) as _i3.Future<_i43.SchooldayEvent>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4849,7 +4894,7 @@ class _SchooldayEventEndpoint { }); } - _i3.Future<_i42.SchooldayEvent> deleteSchooldayEventFile( + _i3.Future<_i43.SchooldayEvent> deleteSchooldayEventFile( _i1.TestSessionBuilder sessionBuilder, int schooldayEventId, bool isProcessed, @@ -4874,7 +4919,7 @@ class _SchooldayEventEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i42.SchooldayEvent>); + ) as _i3.Future<_i43.SchooldayEvent>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4893,9 +4938,9 @@ class _ClassroomEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<_i44.Classroom> createClassroom( + _i3.Future<_i45.Classroom> createClassroom( _i1.TestSessionBuilder sessionBuilder, - _i44.Classroom classroom, + _i45.Classroom classroom, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4914,7 +4959,7 @@ class _ClassroomEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i44.Classroom>); + ) as _i3.Future<_i45.Classroom>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4922,7 +4967,7 @@ class _ClassroomEndpoint { }); } - _i3.Future<List<_i44.Classroom>> fetchClassrooms( + _i3.Future<List<_i45.Classroom>> fetchClassrooms( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4941,7 +4986,7 @@ class _ClassroomEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i44.Classroom>>); + ) as _i3.Future<List<_i45.Classroom>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4949,7 +4994,7 @@ class _ClassroomEndpoint { }); } - _i3.Future<_i44.Classroom?> fetchClassroomById( + _i3.Future<_i45.Classroom?> fetchClassroomById( _i1.TestSessionBuilder sessionBuilder, int id, ) async { @@ -4970,7 +5015,7 @@ class _ClassroomEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i44.Classroom?>); + ) as _i3.Future<_i45.Classroom?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -4978,7 +5023,7 @@ class _ClassroomEndpoint { }); } - _i3.Future<_i44.Classroom?> fetchClassroomByRoomCode( + _i3.Future<_i45.Classroom?> fetchClassroomByRoomCode( _i1.TestSessionBuilder sessionBuilder, String roomCode, ) async { @@ -4999,7 +5044,7 @@ class _ClassroomEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i44.Classroom?>); + ) as _i3.Future<_i45.Classroom?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5007,7 +5052,7 @@ class _ClassroomEndpoint { }); } - _i3.Future<List<_i44.Classroom>> fetchClassroomsByRoomName( + _i3.Future<List<_i45.Classroom>> fetchClassroomsByRoomName( _i1.TestSessionBuilder sessionBuilder, String roomName, ) async { @@ -5028,7 +5073,7 @@ class _ClassroomEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i44.Classroom>>); + ) as _i3.Future<List<_i45.Classroom>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5036,9 +5081,9 @@ class _ClassroomEndpoint { }); } - _i3.Future<_i44.Classroom> updateClassroom( + _i3.Future<_i45.Classroom> updateClassroom( _i1.TestSessionBuilder sessionBuilder, - _i44.Classroom classroom, + _i45.Classroom classroom, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -5057,7 +5102,7 @@ class _ClassroomEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i44.Classroom>); + ) as _i3.Future<_i45.Classroom>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5105,9 +5150,9 @@ class _LearningGroupEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<_i45.LessonGroup> createLessonGroup( + _i3.Future<_i46.LessonGroup> createLessonGroup( _i1.TestSessionBuilder sessionBuilder, - _i45.LessonGroup lessonGroup, + _i46.LessonGroup lessonGroup, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -5126,7 +5171,7 @@ class _LearningGroupEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i45.LessonGroup>); + ) as _i3.Future<_i46.LessonGroup>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5134,7 +5179,7 @@ class _LearningGroupEndpoint { }); } - _i3.Future<List<_i45.LessonGroup>> fetchLessonGroups( + _i3.Future<List<_i46.LessonGroup>> fetchLessonGroups( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -5153,7 +5198,7 @@ class _LearningGroupEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i45.LessonGroup>>); + ) as _i3.Future<List<_i46.LessonGroup>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5161,7 +5206,7 @@ class _LearningGroupEndpoint { }); } - _i3.Future<_i45.LessonGroup?> fetchLessonGroupById( + _i3.Future<_i46.LessonGroup?> fetchLessonGroupById( _i1.TestSessionBuilder sessionBuilder, int id, ) async { @@ -5182,7 +5227,7 @@ class _LearningGroupEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i45.LessonGroup?>); + ) as _i3.Future<_i46.LessonGroup?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5190,7 +5235,7 @@ class _LearningGroupEndpoint { }); } - _i3.Future<_i45.LessonGroup?> fetchLessonGroupByPublicId( + _i3.Future<_i46.LessonGroup?> fetchLessonGroupByPublicId( _i1.TestSessionBuilder sessionBuilder, String publicId, ) async { @@ -5211,7 +5256,7 @@ class _LearningGroupEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i45.LessonGroup?>); + ) as _i3.Future<_i46.LessonGroup?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5219,7 +5264,7 @@ class _LearningGroupEndpoint { }); } - _i3.Future<List<_i45.LessonGroup>> fetchLessonGroupsByName( + _i3.Future<List<_i46.LessonGroup>> fetchLessonGroupsByName( _i1.TestSessionBuilder sessionBuilder, String name, ) async { @@ -5240,7 +5285,7 @@ class _LearningGroupEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i45.LessonGroup>>); + ) as _i3.Future<List<_i46.LessonGroup>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5248,7 +5293,7 @@ class _LearningGroupEndpoint { }); } - _i3.Future<List<_i45.LessonGroup>> fetchLessonGroupsByCreator( + _i3.Future<List<_i46.LessonGroup>> fetchLessonGroupsByCreator( _i1.TestSessionBuilder sessionBuilder, String createdBy, ) async { @@ -5269,7 +5314,7 @@ class _LearningGroupEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i45.LessonGroup>>); + ) as _i3.Future<List<_i46.LessonGroup>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5277,7 +5322,7 @@ class _LearningGroupEndpoint { }); } - _i3.Future<List<_i45.LessonGroup>> fetchLessonGroupsByTimetable( + _i3.Future<List<_i46.LessonGroup>> fetchLessonGroupsByTimetable( _i1.TestSessionBuilder sessionBuilder, int timetableId, ) async { @@ -5298,7 +5343,7 @@ class _LearningGroupEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i45.LessonGroup>>); + ) as _i3.Future<List<_i46.LessonGroup>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5306,9 +5351,9 @@ class _LearningGroupEndpoint { }); } - _i3.Future<_i45.LessonGroup> updateLessonGroup( + _i3.Future<_i46.LessonGroup> updateLessonGroup( _i1.TestSessionBuilder sessionBuilder, - _i45.LessonGroup lessonGroup, + _i46.LessonGroup lessonGroup, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -5327,7 +5372,7 @@ class _LearningGroupEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i45.LessonGroup>); + ) as _i3.Future<_i46.LessonGroup>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5375,9 +5420,9 @@ class _ScheduledLessonEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<_i46.ScheduledLesson?> createScheduledLesson( + _i3.Future<_i47.ScheduledLesson?> createScheduledLesson( _i1.TestSessionBuilder sessionBuilder, - _i46.ScheduledLesson scheduledLesson, + _i47.ScheduledLesson scheduledLesson, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -5397,7 +5442,7 @@ class _ScheduledLessonEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i46.ScheduledLesson?>); + ) as _i3.Future<_i47.ScheduledLesson?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5405,7 +5450,7 @@ class _ScheduledLessonEndpoint { }); } - _i3.Future<List<_i46.ScheduledLesson>> fetchScheduledLessons( + _i3.Future<List<_i47.ScheduledLesson>> fetchScheduledLessons( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -5424,7 +5469,7 @@ class _ScheduledLessonEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i46.ScheduledLesson>>); + ) as _i3.Future<List<_i47.ScheduledLesson>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5432,7 +5477,7 @@ class _ScheduledLessonEndpoint { }); } - _i3.Future<_i46.ScheduledLesson?> fetchScheduledLessonById( + _i3.Future<_i47.ScheduledLesson?> fetchScheduledLessonById( _i1.TestSessionBuilder sessionBuilder, int id, ) async { @@ -5453,7 +5498,7 @@ class _ScheduledLessonEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i46.ScheduledLesson?>); + ) as _i3.Future<_i47.ScheduledLesson?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5461,7 +5506,7 @@ class _ScheduledLessonEndpoint { }); } - _i3.Future<List<_i46.ScheduledLesson>> fetchScheduledLessonsByTimetable( + _i3.Future<List<_i47.ScheduledLesson>> fetchScheduledLessonsByTimetable( _i1.TestSessionBuilder sessionBuilder, int timetableId, ) async { @@ -5482,7 +5527,7 @@ class _ScheduledLessonEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i46.ScheduledLesson>>); + ) as _i3.Future<List<_i47.ScheduledLesson>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5490,7 +5535,7 @@ class _ScheduledLessonEndpoint { }); } - _i3.Future<List<_i46.ScheduledLesson>> fetchScheduledLessonsBySubject( + _i3.Future<List<_i47.ScheduledLesson>> fetchScheduledLessonsBySubject( _i1.TestSessionBuilder sessionBuilder, int subjectId, ) async { @@ -5511,7 +5556,7 @@ class _ScheduledLessonEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i46.ScheduledLesson>>); + ) as _i3.Future<List<_i47.ScheduledLesson>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5519,7 +5564,7 @@ class _ScheduledLessonEndpoint { }); } - _i3.Future<List<_i46.ScheduledLesson>> fetchScheduledLessonsByRoom( + _i3.Future<List<_i47.ScheduledLesson>> fetchScheduledLessonsByRoom( _i1.TestSessionBuilder sessionBuilder, int roomId, ) async { @@ -5540,7 +5585,7 @@ class _ScheduledLessonEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i46.ScheduledLesson>>); + ) as _i3.Future<List<_i47.ScheduledLesson>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5548,7 +5593,7 @@ class _ScheduledLessonEndpoint { }); } - _i3.Future<List<_i46.ScheduledLesson>> fetchScheduledLessonsBySlotId( + _i3.Future<List<_i47.ScheduledLesson>> fetchScheduledLessonsBySlotId( _i1.TestSessionBuilder sessionBuilder, int slotId, ) async { @@ -5569,7 +5614,7 @@ class _ScheduledLessonEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i46.ScheduledLesson>>); + ) as _i3.Future<List<_i47.ScheduledLesson>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5577,7 +5622,7 @@ class _ScheduledLessonEndpoint { }); } - _i3.Future<List<_i46.ScheduledLesson>> fetchActiveScheduledLessons( + _i3.Future<List<_i47.ScheduledLesson>> fetchActiveScheduledLessons( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -5596,7 +5641,7 @@ class _ScheduledLessonEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i46.ScheduledLesson>>); + ) as _i3.Future<List<_i47.ScheduledLesson>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5604,9 +5649,9 @@ class _ScheduledLessonEndpoint { }); } - _i3.Future<_i46.ScheduledLesson?> updateScheduledLesson( + _i3.Future<_i47.ScheduledLesson?> updateScheduledLesson( _i1.TestSessionBuilder sessionBuilder, - _i46.ScheduledLesson scheduledLesson, + _i47.ScheduledLesson scheduledLesson, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -5626,7 +5671,7 @@ class _ScheduledLessonEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i46.ScheduledLesson?>); + ) as _i3.Future<_i47.ScheduledLesson?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5634,7 +5679,7 @@ class _ScheduledLessonEndpoint { }); } - _i3.Future<_i46.ScheduledLesson?> deactivateScheduledLesson( + _i3.Future<_i47.ScheduledLesson?> deactivateScheduledLesson( _i1.TestSessionBuilder sessionBuilder, int id, ) async { @@ -5655,7 +5700,7 @@ class _ScheduledLessonEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i46.ScheduledLesson?>); + ) as _i3.Future<_i47.ScheduledLesson?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5703,10 +5748,10 @@ class _ScheduledLessonGroupMembershipEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<_i47.ScheduledLessonGroupMembership> + _i3.Future<_i48.ScheduledLessonGroupMembership> createScheduledLessonGroupMembership( _i1.TestSessionBuilder sessionBuilder, - _i47.ScheduledLessonGroupMembership membership, + _i48.ScheduledLessonGroupMembership membership, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -5725,7 +5770,7 @@ class _ScheduledLessonGroupMembershipEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i47.ScheduledLessonGroupMembership>); + ) as _i3.Future<_i48.ScheduledLessonGroupMembership>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5733,7 +5778,7 @@ class _ScheduledLessonGroupMembershipEndpoint { }); } - _i3.Future<List<_i47.ScheduledLessonGroupMembership>> + _i3.Future<List<_i48.ScheduledLessonGroupMembership>> fetchScheduledLessonGroupMemberships( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { @@ -5753,7 +5798,7 @@ class _ScheduledLessonGroupMembershipEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i47.ScheduledLessonGroupMembership>>); + ) as _i3.Future<List<_i48.ScheduledLessonGroupMembership>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5761,7 +5806,7 @@ class _ScheduledLessonGroupMembershipEndpoint { }); } - _i3.Future<_i47.ScheduledLessonGroupMembership?> + _i3.Future<_i48.ScheduledLessonGroupMembership?> fetchScheduledLessonGroupMembershipById( _i1.TestSessionBuilder sessionBuilder, int id, @@ -5783,7 +5828,7 @@ class _ScheduledLessonGroupMembershipEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i47.ScheduledLessonGroupMembership?>); + ) as _i3.Future<_i48.ScheduledLessonGroupMembership?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5791,7 +5836,7 @@ class _ScheduledLessonGroupMembershipEndpoint { }); } - _i3.Future<List<_i47.ScheduledLessonGroupMembership>> + _i3.Future<List<_i48.ScheduledLessonGroupMembership>> fetchMembershipsByLessonGroupId( _i1.TestSessionBuilder sessionBuilder, int lessonGroupId, @@ -5813,7 +5858,7 @@ class _ScheduledLessonGroupMembershipEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i47.ScheduledLessonGroupMembership>>); + ) as _i3.Future<List<_i48.ScheduledLessonGroupMembership>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5821,7 +5866,7 @@ class _ScheduledLessonGroupMembershipEndpoint { }); } - _i3.Future<List<_i47.ScheduledLessonGroupMembership>> + _i3.Future<List<_i48.ScheduledLessonGroupMembership>> fetchMembershipsByPupilDataId( _i1.TestSessionBuilder sessionBuilder, int pupilDataId, @@ -5843,7 +5888,7 @@ class _ScheduledLessonGroupMembershipEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i47.ScheduledLessonGroupMembership>>); + ) as _i3.Future<List<_i48.ScheduledLessonGroupMembership>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5851,7 +5896,7 @@ class _ScheduledLessonGroupMembershipEndpoint { }); } - _i3.Future<_i47.ScheduledLessonGroupMembership?> + _i3.Future<_i48.ScheduledLessonGroupMembership?> fetchMembershipByLessonGroupAndPupil( _i1.TestSessionBuilder sessionBuilder, int lessonGroupId, @@ -5877,7 +5922,7 @@ class _ScheduledLessonGroupMembershipEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i47.ScheduledLessonGroupMembership?>); + ) as _i3.Future<_i48.ScheduledLessonGroupMembership?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -5885,10 +5930,10 @@ class _ScheduledLessonGroupMembershipEndpoint { }); } - _i3.Future<_i47.ScheduledLessonGroupMembership> + _i3.Future<_i48.ScheduledLessonGroupMembership> updateScheduledLessonGroupMembership( _i1.TestSessionBuilder sessionBuilder, - _i47.ScheduledLessonGroupMembership membership, + _i48.ScheduledLessonGroupMembership membership, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -5907,7 +5952,7 @@ class _ScheduledLessonGroupMembershipEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i47.ScheduledLessonGroupMembership>); + ) as _i3.Future<_i48.ScheduledLessonGroupMembership>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6021,9 +6066,9 @@ class _SubjectEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<_i48.Subject> createSubject( + _i3.Future<_i49.Subject> createSubject( _i1.TestSessionBuilder sessionBuilder, - _i48.Subject subject, + _i49.Subject subject, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6042,7 +6087,7 @@ class _SubjectEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i48.Subject>); + ) as _i3.Future<_i49.Subject>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6050,7 +6095,7 @@ class _SubjectEndpoint { }); } - _i3.Future<List<_i48.Subject>> fetchSubjects( + _i3.Future<List<_i49.Subject>> fetchSubjects( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6069,7 +6114,7 @@ class _SubjectEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i48.Subject>>); + ) as _i3.Future<List<_i49.Subject>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6077,7 +6122,7 @@ class _SubjectEndpoint { }); } - _i3.Future<_i48.Subject?> fetchSubjectById( + _i3.Future<_i49.Subject?> fetchSubjectById( _i1.TestSessionBuilder sessionBuilder, int id, ) async { @@ -6098,7 +6143,7 @@ class _SubjectEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i48.Subject?>); + ) as _i3.Future<_i49.Subject?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6106,7 +6151,7 @@ class _SubjectEndpoint { }); } - _i3.Future<_i48.Subject?> fetchSubjectByPublicId( + _i3.Future<_i49.Subject?> fetchSubjectByPublicId( _i1.TestSessionBuilder sessionBuilder, String publicId, ) async { @@ -6127,7 +6172,7 @@ class _SubjectEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i48.Subject?>); + ) as _i3.Future<_i49.Subject?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6135,7 +6180,7 @@ class _SubjectEndpoint { }); } - _i3.Future<List<_i48.Subject>> fetchSubjectsByName( + _i3.Future<List<_i49.Subject>> fetchSubjectsByName( _i1.TestSessionBuilder sessionBuilder, String name, ) async { @@ -6156,7 +6201,7 @@ class _SubjectEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i48.Subject>>); + ) as _i3.Future<List<_i49.Subject>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6164,7 +6209,7 @@ class _SubjectEndpoint { }); } - _i3.Future<List<_i48.Subject>> fetchSubjectsByCreator( + _i3.Future<List<_i49.Subject>> fetchSubjectsByCreator( _i1.TestSessionBuilder sessionBuilder, String createdBy, ) async { @@ -6185,7 +6230,7 @@ class _SubjectEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i48.Subject>>); + ) as _i3.Future<List<_i49.Subject>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6193,9 +6238,9 @@ class _SubjectEndpoint { }); } - _i3.Future<_i48.Subject> updateSubject( + _i3.Future<_i49.Subject> updateSubject( _i1.TestSessionBuilder sessionBuilder, - _i48.Subject subject, + _i49.Subject subject, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6214,7 +6259,7 @@ class _SubjectEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i48.Subject>); + ) as _i3.Future<_i49.Subject>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6262,9 +6307,9 @@ class _TimetableEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<_i49.Timetable> createTimetable( + _i3.Future<_i50.Timetable> createTimetable( _i1.TestSessionBuilder sessionBuilder, - _i49.Timetable timetable, + _i50.Timetable timetable, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6283,7 +6328,7 @@ class _TimetableEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i49.Timetable>); + ) as _i3.Future<_i50.Timetable>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6291,7 +6336,7 @@ class _TimetableEndpoint { }); } - _i3.Future<List<_i49.Timetable>> fetchTimetables( + _i3.Future<List<_i50.Timetable>> fetchTimetables( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6310,7 +6355,7 @@ class _TimetableEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i49.Timetable>>); + ) as _i3.Future<List<_i50.Timetable>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6318,7 +6363,7 @@ class _TimetableEndpoint { }); } - _i3.Future<_i49.Timetable?> fetchTimetableById( + _i3.Future<_i50.Timetable?> fetchTimetableById( _i1.TestSessionBuilder sessionBuilder, int id, ) async { @@ -6339,7 +6384,7 @@ class _TimetableEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i49.Timetable?>); + ) as _i3.Future<_i50.Timetable?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6347,7 +6392,7 @@ class _TimetableEndpoint { }); } - _i3.Future<_i49.Timetable?> fetchTimetable( + _i3.Future<_i50.Timetable?> fetchTimetable( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6366,7 +6411,7 @@ class _TimetableEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i49.Timetable?>); + ) as _i3.Future<_i50.Timetable?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6374,7 +6419,7 @@ class _TimetableEndpoint { }); } - _i3.Future<_i49.Timetable?> fetchCompleteTimetableData( + _i3.Future<_i50.Timetable?> fetchCompleteTimetableData( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6393,7 +6438,7 @@ class _TimetableEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i49.Timetable?>); + ) as _i3.Future<_i50.Timetable?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6401,7 +6446,7 @@ class _TimetableEndpoint { }); } - _i3.Future<List<_i49.Timetable>> fetchActiveTimetables( + _i3.Future<List<_i50.Timetable>> fetchActiveTimetables( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6420,7 +6465,7 @@ class _TimetableEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i49.Timetable>>); + ) as _i3.Future<List<_i50.Timetable>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6428,7 +6473,7 @@ class _TimetableEndpoint { }); } - _i3.Future<List<_i49.Timetable>> fetchTimetablesBySemester( + _i3.Future<List<_i50.Timetable>> fetchTimetablesBySemester( _i1.TestSessionBuilder sessionBuilder, int schoolSemesterId, ) async { @@ -6450,7 +6495,7 @@ class _TimetableEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i49.Timetable>>); + ) as _i3.Future<List<_i50.Timetable>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6458,9 +6503,9 @@ class _TimetableEndpoint { }); } - _i3.Future<_i49.Timetable> updateTimetable( + _i3.Future<_i50.Timetable> updateTimetable( _i1.TestSessionBuilder sessionBuilder, - _i49.Timetable timetable, + _i50.Timetable timetable, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6479,7 +6524,7 @@ class _TimetableEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i49.Timetable>); + ) as _i3.Future<_i50.Timetable>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6487,7 +6532,7 @@ class _TimetableEndpoint { }); } - _i3.Future<_i49.Timetable> deactivateTimetable( + _i3.Future<_i50.Timetable> deactivateTimetable( _i1.TestSessionBuilder sessionBuilder, int id, ) async { @@ -6508,7 +6553,7 @@ class _TimetableEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i49.Timetable>); + ) as _i3.Future<_i50.Timetable>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6556,9 +6601,9 @@ class _TimetableSlotEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<_i50.TimetableSlot> createTimetableSlot( + _i3.Future<_i51.TimetableSlot> createTimetableSlot( _i1.TestSessionBuilder sessionBuilder, - _i50.TimetableSlot timetableSlot, + _i51.TimetableSlot timetableSlot, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6577,7 +6622,7 @@ class _TimetableSlotEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i50.TimetableSlot>); + ) as _i3.Future<_i51.TimetableSlot>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6585,7 +6630,7 @@ class _TimetableSlotEndpoint { }); } - _i3.Future<List<_i50.TimetableSlot>> fetchTimetableSlots( + _i3.Future<List<_i51.TimetableSlot>> fetchTimetableSlots( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6604,7 +6649,7 @@ class _TimetableSlotEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i50.TimetableSlot>>); + ) as _i3.Future<List<_i51.TimetableSlot>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6612,7 +6657,7 @@ class _TimetableSlotEndpoint { }); } - _i3.Future<_i50.TimetableSlot?> fetchTimetableSlotById( + _i3.Future<_i51.TimetableSlot?> fetchTimetableSlotById( _i1.TestSessionBuilder sessionBuilder, int id, ) async { @@ -6633,7 +6678,7 @@ class _TimetableSlotEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i50.TimetableSlot?>); + ) as _i3.Future<_i51.TimetableSlot?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6641,7 +6686,7 @@ class _TimetableSlotEndpoint { }); } - _i3.Future<List<_i50.TimetableSlot>> fetchTimetableSlotsByTimetableId( + _i3.Future<List<_i51.TimetableSlot>> fetchTimetableSlotsByTimetableId( _i1.TestSessionBuilder sessionBuilder, int timetableId, ) async { @@ -6662,7 +6707,7 @@ class _TimetableSlotEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i50.TimetableSlot>>); + ) as _i3.Future<List<_i51.TimetableSlot>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6670,9 +6715,9 @@ class _TimetableSlotEndpoint { }); } - _i3.Future<List<_i50.TimetableSlot>> fetchTimetableSlotsByDay( + _i3.Future<List<_i51.TimetableSlot>> fetchTimetableSlotsByDay( _i1.TestSessionBuilder sessionBuilder, - _i51.Weekday day, + _i52.Weekday day, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6691,7 +6736,7 @@ class _TimetableSlotEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i50.TimetableSlot>>); + ) as _i3.Future<List<_i51.TimetableSlot>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6699,9 +6744,9 @@ class _TimetableSlotEndpoint { }); } - _i3.Future<_i50.TimetableSlot> updateTimetableSlot( + _i3.Future<_i51.TimetableSlot> updateTimetableSlot( _i1.TestSessionBuilder sessionBuilder, - _i50.TimetableSlot timetableSlot, + _i51.TimetableSlot timetableSlot, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6720,7 +6765,7 @@ class _TimetableSlotEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i50.TimetableSlot>); + ) as _i3.Future<_i51.TimetableSlot>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6893,7 +6938,7 @@ class _PupilWorkbooksEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<_i52.PupilWorkbook> postPupilWorkbook( + _i3.Future<_i53.PupilWorkbook> postPupilWorkbook( _i1.TestSessionBuilder sessionBuilder, int isbn, int pupilId, @@ -6920,7 +6965,7 @@ class _PupilWorkbooksEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i52.PupilWorkbook>); + ) as _i3.Future<_i53.PupilWorkbook>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6928,7 +6973,7 @@ class _PupilWorkbooksEndpoint { }); } - _i3.Future<List<_i52.PupilWorkbook>> fetchPupilWorkbooks( + _i3.Future<List<_i53.PupilWorkbook>> fetchPupilWorkbooks( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -6947,7 +6992,7 @@ class _PupilWorkbooksEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i52.PupilWorkbook>>); + ) as _i3.Future<List<_i53.PupilWorkbook>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6955,7 +7000,7 @@ class _PupilWorkbooksEndpoint { }); } - _i3.Future<List<_i52.PupilWorkbook>> fetchPupilWorkbooksFromPupil( + _i3.Future<List<_i53.PupilWorkbook>> fetchPupilWorkbooksFromPupil( _i1.TestSessionBuilder sessionBuilder, int pupilId, ) async { @@ -6976,7 +7021,7 @@ class _PupilWorkbooksEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i52.PupilWorkbook>>); + ) as _i3.Future<List<_i53.PupilWorkbook>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -6984,9 +7029,9 @@ class _PupilWorkbooksEndpoint { }); } - _i3.Future<_i52.PupilWorkbook> updatePupilWorkbook( + _i3.Future<_i53.PupilWorkbook> updatePupilWorkbook( _i1.TestSessionBuilder sessionBuilder, - _i52.PupilWorkbook pupilWorkbook, + _i53.PupilWorkbook pupilWorkbook, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -7005,7 +7050,7 @@ class _PupilWorkbooksEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i52.PupilWorkbook>); + ) as _i3.Future<_i53.PupilWorkbook>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -7054,9 +7099,9 @@ class _WorkbooksEndpoint { final _i2.SerializationManager _serializationManager; - _i3.Future<_i53.Workbook> postWorkbook( + _i3.Future<_i54.Workbook> postWorkbook( _i1.TestSessionBuilder sessionBuilder, - _i53.Workbook workbook, + _i54.Workbook workbook, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -7075,7 +7120,7 @@ class _WorkbooksEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i53.Workbook>); + ) as _i3.Future<_i54.Workbook>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -7083,7 +7128,7 @@ class _WorkbooksEndpoint { }); } - _i3.Future<_i53.Workbook> fetchWorkbookByIsbn( + _i3.Future<_i54.Workbook> fetchWorkbookByIsbn( _i1.TestSessionBuilder sessionBuilder, int isbn, ) async { @@ -7104,7 +7149,7 @@ class _WorkbooksEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i53.Workbook>); + ) as _i3.Future<_i54.Workbook>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -7112,7 +7157,7 @@ class _WorkbooksEndpoint { }); } - _i3.Future<List<_i53.Workbook>> fetchWorkbooks( + _i3.Future<List<_i54.Workbook>> fetchWorkbooks( _i1.TestSessionBuilder sessionBuilder) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -7131,7 +7176,7 @@ class _WorkbooksEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<List<_i53.Workbook>>); + ) as _i3.Future<List<_i54.Workbook>>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -7139,9 +7184,9 @@ class _WorkbooksEndpoint { }); } - _i3.Future<_i53.Workbook> updateWorkbook( + _i3.Future<_i54.Workbook> updateWorkbook( _i1.TestSessionBuilder sessionBuilder, - _i53.Workbook workbook, + _i54.Workbook workbook, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -7160,7 +7205,7 @@ class _WorkbooksEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i53.Workbook>); + ) as _i3.Future<_i54.Workbook>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -7274,7 +7319,7 @@ class _FilesEndpoint { }); } - _i3.Future<_i54.ByteData?> getImage( + _i3.Future<_i55.ByteData?> getImage( _i1.TestSessionBuilder sessionBuilder, String documentId, ) async { @@ -7295,7 +7340,7 @@ class _FilesEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i54.ByteData?>); + ) as _i3.Future<_i55.ByteData?>); return _localReturnValue; } finally { await _localUniqueSession.close(); @@ -7303,7 +7348,7 @@ class _FilesEndpoint { }); } - _i3.Future<_i54.ByteData?> getUnencryptedImage( + _i3.Future<_i55.ByteData?> getUnencryptedImage( _i1.TestSessionBuilder sessionBuilder, String path, ) async { @@ -7324,7 +7369,7 @@ class _FilesEndpoint { var _localReturnValue = await (_localCallContext.method.call( _localUniqueSession, _localCallContext.arguments, - ) as _i3.Future<_i54.ByteData?>); + ) as _i3.Future<_i55.ByteData?>); return _localReturnValue; } finally { await _localUniqueSession.close(); diff --git a/school_data_hub_server/uml_diagram.puml b/school_data_hub_server/uml_diagram.puml index b6f7b38f..c4b74867 100644 --- a/school_data_hub_server/uml_diagram.puml +++ b/school_data_hub_server/uml_diagram.puml @@ -957,11 +957,13 @@ class User <<table: <b>user</b>>> #e2f0fb##[bold] { <color:#93c47d>## Staff model</color> ➡️ <i>userInfo</i> : <b><color:#ff962f>module:auth:UserInfo?</color></b>, <b><color:#0164aa>relation</color></b><color:#ff962f>(</color><b><color:#f44336>onDelete</color></b><color:#ff962f>=</color>Cascade<color:#ff962f>)</color> <i>role</i>: <b><color:#ff962f>Role</color></b> + <i>matrixUserId</i>: <b><color:#ff962f>String?</color></b> <i>timeUnits</i>: <b><color:#ff962f>int</color></b> <i>reliefTimeUnits</i>: <b><color:#ff962f>int</color></b> ➡️ <i>scheduledLessonsTeacher</i> : <b><color:#ff962f>List<ScheduledLessonTeacher>?</color></b>, <b><color:#0164aa>relation</color></b><color:#ff962f>(</color><b><color:#f44336>name</color></b><color:#ff962f>=</color>user_scheduled_lesson<color:#ff962f>)</color> ➡️ <i>lessonsTeacher</i> : <b><color:#ff962f>List<LessonTeacher>?</color></b>, <b><color:#0164aa>relation</color></b><color:#ff962f>(</color><b><color:#f44336>name</color></b><color:#ff962f>=</color>user_lesson<color:#ff962f>)</color> <i>pupilsAuth</i>: <b><color:#ff962f>Set<int>?</color></b> + <i>schooldayEventsProcessingTeam</i>: <b><color:#ff962f>String?</color></b> <i>credit</i>: <b><color:#ff962f>int</color></b> <i>userFlags</i>: <b><color:#ff962f>UserFlags</color></b> <b><color:#0164aa>indexes:</color></b> diff --git a/test_data/mock_users.json b/test_data/mock_users.json new file mode 100644 index 00000000..e69de29b From 138f90276c73e473b25456f47cd0917ec8c50d1d Mon Sep 17 00:00:00 2001 From: dabblingwithcode <nacho.dominguis@proton.me> Date: Sun, 23 Nov 2025 18:52:31 +0100 Subject: [PATCH 09/13] app: new pages family language & religion lessons lists --- .../widgets/pupil_lists_buttons.dart | 39 +++- ...arning_content_expansion_tile_nav_bar.dart | 208 ++++++++++++------ .../family_language_lessons_list_page.dart | 101 +++++++++ .../widgets/family_language_lessons_card.dart | 141 ++++++++++++ ...guage_lessons_list_page_bottom_navbar.dart | 61 +++++ ...mily_language_lessons_list_search_bar.dart | 74 +++++++ .../religion_page/religion_list_page.dart | 104 +++++++++ .../religion_page/widgets/religion_card.dart | 139 ++++++++++++ .../widgets/religion_filter_bottom_sheet.dart | 61 +++++ .../religion_list_page_bottom_navbar.dart | 61 +++++ .../widgets/religion_list_search_bar.dart | 74 +++++++ 11 files changed, 992 insertions(+), 71 deletions(-) create mode 100644 school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/family_language_lessons_list_page.dart create mode 100644 school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_card.dart create mode 100644 school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_list_page_bottom_navbar.dart create mode 100644 school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_list_search_bar.dart create mode 100644 school_data_hub_flutter/lib/features/pupil/presentation/religion_page/religion_list_page.dart create mode 100644 school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_card.dart create mode 100644 school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_filter_bottom_sheet.dart create mode 100644 school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_list_page_bottom_navbar.dart create mode 100644 school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_list_search_bar.dart diff --git a/school_data_hub_flutter/lib/features/app_main_navigation/widgets/pupil_lists_buttons.dart b/school_data_hub_flutter/lib/features/app_main_navigation/widgets/pupil_lists_buttons.dart index a1bfb536..f1ed4688 100644 --- a/school_data_hub_flutter/lib/features/app_main_navigation/widgets/pupil_lists_buttons.dart +++ b/school_data_hub_flutter/lib/features/app_main_navigation/widgets/pupil_lists_buttons.dart @@ -10,6 +10,8 @@ import 'package:school_data_hub_flutter/features/learning_support/presentation/l import 'package:school_data_hub_flutter/features/matrix/users/presentation/matrix_users_list_page/matrix_users_list_page.dart'; import 'package:school_data_hub_flutter/features/ogs/ogs_list_page.dart'; import 'package:school_data_hub_flutter/features/pupil/presentation/_credit/credit_list_page/credit_list_page.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/family_language_lessons_page/family_language_lessons_list_page.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/religion_page/religion_list_page.dart'; import 'package:school_data_hub_flutter/features/pupil/presentation/special_info_page/special_info_list_page.dart'; import 'package:school_data_hub_flutter/l10n/app_localizations.dart'; import 'package:watch_it/watch_it.dart'; @@ -71,7 +73,7 @@ class PupilListButtons extends WatchingWidget { ), buttonText: locale.pupilCredit, ), - if (isReady && isTester) + if (isReady) MainMenuButton( destinationPage: const LearningPupilListPage(), buttonIcon: const Icon( @@ -99,6 +101,41 @@ class PupilListButtons extends WatchingWidget { ), buttonText: locale.specialInfo, ), + const MainMenuButton( + destinationPage: const ReligionListPage(), + buttonIcon: const Row( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Icon( + Icons.mosque_rounded, + size: 50, + color: AppColors.gridViewColor, + ), + Icon( + Icons.church_rounded, + size: 50, + color: AppColors.gridViewColor, + ), + ], + ), + buttonText: 'Reli-Unterricht', + ), + const MainMenuButton( + destinationPage: const FamilyLanguageLessonsListPage(), + buttonIcon: const Row( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Icon( + Icons.translate_rounded, + size: 50, + color: AppColors.gridViewColor, + ), + ], + ), + buttonText: 'HKU', + ), MainMenuButton( destinationPage: const OgsListPage(), buttonIcon: Text( diff --git a/school_data_hub_flutter/lib/features/learning/presentation/widgets/pupil_learning_content_expansion_tile_nav_bar.dart b/school_data_hub_flutter/lib/features/learning/presentation/widgets/pupil_learning_content_expansion_tile_nav_bar.dart index d032c073..2deee560 100644 --- a/school_data_hub_flutter/lib/features/learning/presentation/widgets/pupil_learning_content_expansion_tile_nav_bar.dart +++ b/school_data_hub_flutter/lib/features/learning/presentation/widgets/pupil_learning_content_expansion_tile_nav_bar.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; +import 'package:school_data_hub_flutter/core/session/hub_session_manager.dart'; import 'package:school_data_hub_flutter/features/learning/presentation/pupil_competence_list_page/widgets/pupil_learning_content/pupil_learning_content_books.dart'; import 'package:school_data_hub_flutter/features/learning/presentation/pupil_competence_list_page/widgets/pupil_learning_content/pupil_learning_content_competence_goals.dart'; import 'package:school_data_hub_flutter/features/learning/presentation/pupil_competence_list_page/widgets/pupil_learning_content/pupil_learning_content_competence_statuses.dart'; @@ -86,79 +87,146 @@ class PupilLearningContentNavBar extends WatchingWidget { Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ - IconButton( - isSelected: selectedContent == SelectedContent.competenceStatuses, - icon: const Icon( - Icons.lightbulb, - color: AppColors.interactiveColor, + if (di<HubSessionManager>().isTester) + Column( + mainAxisSize: MainAxisSize.min, + children: [ + IconButton( + isSelected: + selectedContent == SelectedContent.competenceStatuses, + icon: const Icon( + Icons.lightbulb, + color: AppColors.interactiveColor, + ), + selectedIcon: const Icon( + Icons.lightbulb, + color: AppColors.accentColor, + ), + onPressed: () { + if (selectedContent != + SelectedContent.competenceStatuses) { + selectedContentNotifier.select( + SelectedContent.competenceStatuses, + ); + + return; + } + }, + ), + Text( + 'Lernspuren', + style: TextStyle( + color: + selectedContent == SelectedContent.competenceStatuses + ? AppColors.accentColor + : AppColors.interactiveColor, + fontSize: 12, + ), + ), + ], ), - selectedIcon: const Icon( - Icons.lightbulb, - color: AppColors.accentColor, + if (di<HubSessionManager>().isTester) + Column( + mainAxisSize: MainAxisSize.min, + children: [ + IconButton( + isSelected: + selectedContent == SelectedContent.competenceGoals, + icon: const Icon( + Icons.emoji_nature_rounded, + color: AppColors.interactiveColor, + ), + selectedIcon: const Icon( + Icons.emoji_nature_rounded, + color: AppColors.accentColor, + ), + onPressed: () { + if (selectedContent != SelectedContent.competenceGoals) { + selectedContentNotifier.select( + SelectedContent.competenceGoals, + ); + + return; + } + }, + ), + Text( + 'Ziele', + style: TextStyle( + color: selectedContent == SelectedContent.competenceGoals + ? AppColors.accentColor + : AppColors.interactiveColor, + fontSize: 12, + ), + ), + ], ), - onPressed: () { - if (selectedContent != SelectedContent.competenceStatuses) { - selectedContentNotifier.select( - SelectedContent.competenceStatuses, - ); - - return; - } - }, - ), - // if (di<HubSessionManager>().isTester) - // IconButton( - // isSelected: selectedContent == SelectedContent.competenceGoals, - // icon: const Icon( - // Icons.emoji_nature_rounded, - // color: AppColors.interactiveColor, - // ), - // selectedIcon: const Icon( - // Icons.emoji_nature_rounded, - // color: AppColors.accentColor, - // ), - // onPressed: () { - // if (selectedContent != SelectedContent.competenceGoals) { - // selectedContentNotifier.select( - // SelectedContent.competenceGoals, - // ); - - // return; - // } - // }, - // ), - IconButton( - isSelected: selectedContent == SelectedContent.workbooks, - icon: const Icon( - Icons.note_alt, - color: AppColors.interactiveColor, - ), - selectedIcon: const Icon( - Icons.note_alt, - color: AppColors.accentColor, - ), - onPressed: () { - if (selectedContent != SelectedContent.workbooks) { - selectedContentNotifier.select(SelectedContent.workbooks); - - return; - } - }, - ), - IconButton( - isSelected: selectedContent == SelectedContent.books, - icon: const Icon(Icons.book, color: AppColors.interactiveColor), - selectedIcon: const Icon( - Icons.book, - color: AppColors.accentColor, + if (di<HubSessionManager>().isTester) + Column( + mainAxisSize: MainAxisSize.min, + children: [ + IconButton( + isSelected: selectedContent == SelectedContent.workbooks, + icon: const Icon( + Icons.note_alt, + color: AppColors.interactiveColor, + ), + selectedIcon: const Icon( + Icons.note_alt, + color: AppColors.accentColor, + ), + onPressed: () { + if (selectedContent != SelectedContent.workbooks) { + selectedContentNotifier.select( + SelectedContent.workbooks, + ); + + return; + } + }, + ), + Text( + 'Arbeitshefte', + style: TextStyle( + color: selectedContent == SelectedContent.workbooks + ? AppColors.accentColor + : AppColors.interactiveColor, + fontSize: 12, + ), + ), + ], ), - onPressed: () { - if (selectedContent != SelectedContent.books) { - selectedContentNotifier.select(SelectedContent.books); - - return; - } - }, + Column( + mainAxisSize: MainAxisSize.min, + children: [ + IconButton( + isSelected: selectedContent == SelectedContent.books, + icon: const Icon( + Icons.book, + color: AppColors.interactiveColor, + ), + selectedIcon: const Icon( + Icons.book, + color: AppColors.accentColor, + ), + onPressed: () { + if (selectedContent != SelectedContent.books) { + selectedContentNotifier.select(SelectedContent.books); + + return; + } + }, + ), + Text( + 'Bücher', + style: TextStyle( + color: selectedContent == SelectedContent.books + ? AppColors.accentColor + : AppColors.interactiveColor, + fontSize: 12, + ), + ), + ], ), ], ), diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/family_language_lessons_list_page.dart b/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/family_language_lessons_list_page.dart new file mode 100644 index 00000000..46fbc3c8 --- /dev/null +++ b/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/family_language_lessons_list_page.dart @@ -0,0 +1,101 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/domain/filters/filters_state_manager.dart'; +import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; +import 'package:school_data_hub_flutter/common/theme/styles.dart'; +import 'package:school_data_hub_flutter/common/widgets/generic_components/generic_sliver_list.dart'; +import 'package:school_data_hub_flutter/common/widgets/generic_components/generic_sliver_search_app_bar.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/filters/pupils_filter.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/pupil_manager.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_card.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_list_page_bottom_navbar.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_list_search_bar.dart'; +import 'package:watch_it/watch_it.dart'; + +final _filterStateManager = di<FiltersStateManager>(); + +final _pupilManager = di<PupilManager>(); + +List<PupilProxy> familyLanguageLessonsFilter(List<PupilProxy> pupils) { + List<PupilProxy> filteredPupils = []; + bool filtersOn = false; + for (PupilProxy pupil in pupils) { + if (pupil.familyLanguageLessonsSince == null) { + filtersOn = true; + continue; + } + + filteredPupils.add(pupil); + } + if (filtersOn) { + _filterStateManager.setFilterState( + filterState: FilterState.pupil, + value: true, + ); + } + return filteredPupils; +} + +void _onPop(bool didPop, dynamic result) { + _filterStateManager.resetFilters(); +} + +class FamilyLanguageLessonsListPage extends WatchingWidget { + const FamilyLanguageLessonsListPage({super.key}); + + @override + Widget build(BuildContext context) { + List<PupilProxy> filteredPupils = watchValue( + (PupilsFilter x) => x.filteredPupils, + ); + List<PupilProxy> pupils = familyLanguageLessonsFilter(filteredPupils); + onDispose(() { + _filterStateManager.resetFilters(); + }); + return PopScope( + onPopInvokedWithResult: (didPop, result) => _onPop(didPop, result), + child: Scaffold( + backgroundColor: AppColors.canvasColor, + appBar: AppBar( + centerTitle: true, + backgroundColor: AppColors.backgroundColor, + title: const Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.translate, size: 25, color: Colors.white), + Gap(10), + Text( + 'Herkunftssprachlicher U.', + style: AppStyles.appBarTextStyle, + ), + ], + ), + automaticallyImplyLeading: false, + ), + body: RefreshIndicator( + onRefresh: () async => _pupilManager.updatePupilList(pupils), + child: Center( + child: ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 700), + child: CustomScrollView( + slivers: [ + const SliverGap(5), + GenericSliverSearchAppBar( + height: 110, + title: FamilyLanguageLessonsListSearchBar(pupils: pupils), + ), + GenericSliverListWithEmptyListCheck( + items: pupils, + itemBuilder: (_, pupil) => FamilyLanguageLessonsCard(pupil), + ), + ], + ), + ), + ), + ), + bottomNavigationBar: FamilyLanguageLessonsListPageBottomNavBar(), + ), + ); + } +} diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_card.dart b/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_card.dart new file mode 100644 index 00000000..aae1eae8 --- /dev/null +++ b/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_card.dart @@ -0,0 +1,141 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/domain/filters/filters_state_manager.dart'; +import 'package:school_data_hub_flutter/features/app_main_navigation/domain/main_menu_bottom_nav_manager.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/pupil_profile_page/pupil_profile_page.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/widgets/avatar.dart'; +import 'package:watch_it/watch_it.dart'; + +final _mainMenuBottomNavManager = di<BottomNavManager>(); +final _filterStateManager = di<FiltersStateManager>(); + +class FamilyLanguageLessonsCard extends WatchingWidget { + final PupilProxy pupil; + const FamilyLanguageLessonsCard(this.pupil, {super.key}); + @override + Widget build(BuildContext context) { + return Card( + color: Colors.white, + surfaceTintColor: Colors.white, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), + elevation: 1.0, + margin: + const EdgeInsets.only(left: 4.0, right: 4.0, top: 4.0, bottom: 4.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + AvatarWithBadges(pupil: pupil, size: 80), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(15), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Expanded( + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: InkWell( + onTap: () { + _filterStateManager.resetFilters(); + _mainMenuBottomNavManager + .setPupilProfileNavPage(0); + Navigator.of(context) + .push(MaterialPageRoute( + builder: (ctx) => PupilProfilePage( + pupil: pupil, + ), + )); + }, + child: Row( + children: [ + Text( + pupil.firstName, + overflow: TextOverflow.fade, + softWrap: false, + textAlign: TextAlign.left, + style: const TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: 18, + ), + ), + const Gap(5), + Text( + pupil.lastName, + overflow: TextOverflow.fade, + softWrap: false, + textAlign: TextAlign.left, + style: const TextStyle( + color: Colors.black, + fontWeight: FontWeight.normal, + fontSize: 18, + ), + ), + const Gap(5), + ], + ), + ), + ), + ), + ], + ), + const Gap(5), + const Row( + children: [ + Text('Herkunftssprache:'), + Gap(5), + ], + ), + ], + ), + ), + ], + ), + const Gap(5), + Row( + children: [ + Flexible( + child: InkWell( + onTap: () {}, + child: Padding( + padding: + const EdgeInsets.only(right: 8.0, bottom: 15), + child: Text( + pupil.language.isNotEmpty + ? pupil.language + : 'keine Angabe', + overflow: TextOverflow.ellipsis, + softWrap: true, + maxLines: 3, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + ), + ), + ), + ], + ), + ], + ), + ), + ], + ), + ); + } +} + diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_list_page_bottom_navbar.dart b/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_list_page_bottom_navbar.dart new file mode 100644 index 00000000..1d24202c --- /dev/null +++ b/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_list_page_bottom_navbar.dart @@ -0,0 +1,61 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/domain/filters/filters_state_manager.dart'; +import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; +import 'package:school_data_hub_flutter/common/widgets/bottom_nav_bar_layouts.dart'; +import 'package:school_data_hub_flutter/common/widgets/generic_components/generic_filter_bottom_sheet.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/filters/pupils_filter.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/widgets/common_pupil_filters.dart'; +import 'package:watch_it/watch_it.dart'; + +final _pupilsFilter = di<PupilsFilter>(); + +class FamilyLanguageLessonsListPageBottomNavBar extends WatchingWidget { + const FamilyLanguageLessonsListPageBottomNavBar({super.key}); + + @override + Widget build(BuildContext context) { + final filtersOn = watchValue((FiltersStateManager x) => x.filtersActive); + return BottomNavBarLayout( + bottomNavBar: BottomAppBar( + height: 60, + padding: const EdgeInsets.all(10), + shape: null, + color: AppColors.backgroundColor, + child: IconTheme( + data: IconThemeData(color: Theme.of(context).colorScheme.onPrimary), + child: Row( + children: <Widget>[ + const Spacer(), + IconButton( + tooltip: 'zurück', + icon: const Icon( + Icons.arrow_back, + size: 30, + ), + onPressed: () { + Navigator.pop(context); + }, + ), + const Gap(30), + InkWell( + onTap: () => + showGenericFilterBottomSheet(context: context, filterList: [ + const CommonPupilFiltersWidget(), + ]), + onLongPress: () => _pupilsFilter.resetFilters(), + child: Icon( + Icons.filter_list, + color: filtersOn ? Colors.deepOrange : Colors.white, + size: 30, + ), + ), + const Gap(15) + ], + ), + ), + ), + ); + } +} + diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_list_search_bar.dart b/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_list_search_bar.dart new file mode 100644 index 00000000..2bca77bf --- /dev/null +++ b/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_list_search_bar.dart @@ -0,0 +1,74 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/domain/models/enums.dart'; +import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; +import 'package:school_data_hub_flutter/common/widgets/filter_button.dart'; +import 'package:school_data_hub_flutter/common/widgets/generic_components/generic_filter_bottom_sheet.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/filters/pupils_filter.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/widgets/common_pupil_filters.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/widgets/pupil_search_text_field.dart'; +import 'package:watch_it/watch_it.dart'; + +final _pupilsFilter = di<PupilsFilter>(); + +class FamilyLanguageLessonsListSearchBar extends WatchingWidget { + final List<PupilProxy> pupils; + const FamilyLanguageLessonsListSearchBar({required this.pupils, super.key}); + + @override + Widget build(BuildContext context) { + return Container( + decoration: BoxDecoration( + color: AppColors.canvasColor, + borderRadius: BorderRadius.circular(5.0), + ), + child: Column( + children: [ + const Gap(5), + Padding( + padding: const EdgeInsets.only(left: 10.0, right: 10.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Icon( + Icons.people_alt_rounded, + color: AppColors.backgroundColor, + ), + const Gap(5), + Text( + pupils.length.toString(), + style: const TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: 20, + ), + ), + ], + ), + ), + Padding( + padding: const EdgeInsets.only(top: 10.0, left: 10.0, right: 10.0), + child: Row( + children: [ + Expanded( + child: PupilSearchTextField( + searchType: SearchType.pupil, + hintText: 'Schüler/in suchen', + refreshFunction: _pupilsFilter.refreshs)), + FilterButton( + isSearchBar: true, + showBottomSheetFunction: () => showGenericFilterBottomSheet( + context: context, filterList: [ + const CommonPupilFiltersWidget(), + ]), + ) + ], + ), + ), + ], + ), + ); + } +} + diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/religion_list_page.dart b/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/religion_list_page.dart new file mode 100644 index 00000000..72f84a50 --- /dev/null +++ b/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/religion_list_page.dart @@ -0,0 +1,104 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/domain/filters/filters_state_manager.dart'; +import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; +import 'package:school_data_hub_flutter/common/theme/styles.dart'; +import 'package:school_data_hub_flutter/common/widgets/generic_components/generic_sliver_list.dart'; +import 'package:school_data_hub_flutter/common/widgets/generic_components/generic_sliver_search_app_bar.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/filters/pupils_filter.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/pupil_manager.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/religion_page/widgets/religion_card.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/religion_page/widgets/religion_list_page_bottom_navbar.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/religion_page/widgets/religion_list_search_bar.dart'; +import 'package:watch_it/watch_it.dart'; + +final _filterStateManager = di<FiltersStateManager>(); + +final _pupilManager = di<PupilManager>(); + +List<PupilProxy> religionFilter(List<PupilProxy> pupils) { + List<PupilProxy> filteredPupils = []; + bool filtersOn = false; + for (PupilProxy pupil in pupils) { + if (pupil.religionLessonsSince == null) { + filtersOn = true; + continue; + } + + filteredPupils.add(pupil); + } + if (filtersOn) { + _filterStateManager.setFilterState( + filterState: FilterState.pupil, value: true); + } + return filteredPupils; +} + +void _onPop(bool didPop, dynamic result) { + _filterStateManager.resetFilters(); +} + +class ReligionListPage extends WatchingWidget { + const ReligionListPage({super.key}); + + @override + Widget build(BuildContext context) { + List<PupilProxy> filteredPupils = + watchValue((PupilsFilter x) => x.filteredPupils); + List<PupilProxy> pupils = religionFilter(filteredPupils); + onDispose(() { + _filterStateManager.resetFilters(); + }); + return PopScope( + onPopInvokedWithResult: (didPop, result) => _onPop(didPop, result), + child: Scaffold( + backgroundColor: AppColors.canvasColor, + appBar: AppBar( + centerTitle: true, + backgroundColor: AppColors.backgroundColor, + title: const Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.church, + size: 25, + color: Colors.white, + ), + Gap(10), + Text( + 'Religion', + style: AppStyles.appBarTextStyle, + ), + ], + ), + automaticallyImplyLeading: false, + ), + body: RefreshIndicator( + onRefresh: () async => _pupilManager.updatePupilList(pupils), + child: Center( + child: ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 700), + child: CustomScrollView( + slivers: [ + const SliverGap(5), + GenericSliverSearchAppBar( + height: 110, + title: ReligionListSearchBar( + pupils: pupils, + ), + ), + GenericSliverListWithEmptyListCheck( + items: pupils, + itemBuilder: (_, pupil) => ReligionCard(pupil)), + ], + ), + ), + ), + ), + bottomNavigationBar: ReligionListPageBottomNavBar(), + ), + ); + } +} + diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_card.dart b/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_card.dart new file mode 100644 index 00000000..e9cedcc5 --- /dev/null +++ b/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_card.dart @@ -0,0 +1,139 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/domain/filters/filters_state_manager.dart'; +import 'package:school_data_hub_flutter/features/app_main_navigation/domain/main_menu_bottom_nav_manager.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/pupil_profile_page/pupil_profile_page.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/widgets/avatar.dart'; +import 'package:watch_it/watch_it.dart'; + +final _mainMenuBottomNavManager = di<BottomNavManager>(); +final _filterStateManager = di<FiltersStateManager>(); + +class ReligionCard extends WatchingWidget { + final PupilProxy pupil; + const ReligionCard(this.pupil, {super.key}); + @override + Widget build(BuildContext context) { + return Card( + color: Colors.white, + surfaceTintColor: Colors.white, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), + elevation: 1.0, + margin: + const EdgeInsets.only(left: 4.0, right: 4.0, top: 4.0, bottom: 4.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + AvatarWithBadges(pupil: pupil, size: 80), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(15), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Expanded( + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: InkWell( + onTap: () { + _filterStateManager.resetFilters(); + _mainMenuBottomNavManager + .setPupilProfileNavPage(0); + Navigator.of(context) + .push(MaterialPageRoute( + builder: (ctx) => PupilProfilePage( + pupil: pupil, + ), + )); + }, + child: Row( + children: [ + Text( + pupil.firstName, + overflow: TextOverflow.fade, + softWrap: false, + textAlign: TextAlign.left, + style: const TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: 18, + ), + ), + const Gap(5), + Text( + pupil.lastName, + overflow: TextOverflow.fade, + softWrap: false, + textAlign: TextAlign.left, + style: const TextStyle( + color: Colors.black, + fontWeight: FontWeight.normal, + fontSize: 18, + ), + ), + const Gap(5), + ], + ), + ), + ), + ), + ], + ), + const Gap(5), + const Row( + children: [ + Text('Religion:'), + Gap(5), + ], + ), + ], + ), + ), + ], + ), + const Gap(5), + Row( + children: [ + Flexible( + child: InkWell( + onTap: () {}, + child: Padding( + padding: + const EdgeInsets.only(right: 8.0, bottom: 15), + child: Text( + pupil.religion ?? 'keine Angabe', + overflow: TextOverflow.ellipsis, + softWrap: true, + maxLines: 3, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + ), + ), + ), + ], + ), + ], + ), + ), + ], + ), + ); + } +} + diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_filter_bottom_sheet.dart b/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_filter_bottom_sheet.dart new file mode 100644 index 00000000..d9de9e4c --- /dev/null +++ b/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_filter_bottom_sheet.dart @@ -0,0 +1,61 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/theme/styles.dart'; +import 'package:school_data_hub_flutter/common/widgets/themed_filter_chip.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/filters/pupils_filter.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/widgets/common_pupil_filters.dart'; +import 'package:watch_it/watch_it.dart'; + +class ReligionFilterBottomSheet extends WatchingWidget { + const ReligionFilterBottomSheet({super.key}); + + @override + Widget build(BuildContext context) { + return const Column( + children: [ + CommonPupilFiltersWidget(), + Gap(10), + ReligionFiltersSection(), + ], + ); + } +} + +class ReligionFiltersSection extends WatchingWidget { + const ReligionFiltersSection({super.key}); + + @override + Widget build(BuildContext context) { + final religionCourseFilters = di<PupilsFilter>().religionCourseFilters; + + return Column( + children: [ + const Row( + children: [ + Text( + 'Religion', + style: AppStyles.subtitle, + ) + ], + ), + const Gap(5), + Wrap( + spacing: 5, + crossAxisAlignment: WrapCrossAlignment.center, + alignment: WrapAlignment.center, + children: [ + for (final religionFilter in religionCourseFilters) + ThemedFilterChip( + label: religionFilter.displayName, + selected: watch(religionFilter).isActive, + onSelected: (val) { + religionFilter.toggle(val); + }, + ), + ], + ), + ], + ); + } +} + diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_list_page_bottom_navbar.dart b/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_list_page_bottom_navbar.dart new file mode 100644 index 00000000..2ee893f3 --- /dev/null +++ b/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_list_page_bottom_navbar.dart @@ -0,0 +1,61 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/domain/filters/filters_state_manager.dart'; +import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; +import 'package:school_data_hub_flutter/common/widgets/bottom_nav_bar_layouts.dart'; +import 'package:school_data_hub_flutter/common/widgets/generic_components/generic_filter_bottom_sheet.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/filters/pupils_filter.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/religion_page/widgets/religion_filter_bottom_sheet.dart'; +import 'package:watch_it/watch_it.dart'; + +final _pupilsFilter = di<PupilsFilter>(); + +class ReligionListPageBottomNavBar extends WatchingWidget { + const ReligionListPageBottomNavBar({super.key}); + + @override + Widget build(BuildContext context) { + final filtersOn = watchValue((FiltersStateManager x) => x.filtersActive); + return BottomNavBarLayout( + bottomNavBar: BottomAppBar( + height: 60, + padding: const EdgeInsets.all(10), + shape: null, + color: AppColors.backgroundColor, + child: IconTheme( + data: IconThemeData(color: Theme.of(context).colorScheme.onPrimary), + child: Row( + children: <Widget>[ + const Spacer(), + IconButton( + tooltip: 'zurück', + icon: const Icon( + Icons.arrow_back, + size: 30, + ), + onPressed: () { + Navigator.pop(context); + }, + ), + const Gap(30), + InkWell( + onTap: () => + showGenericFilterBottomSheet(context: context, filterList: [ + const ReligionFilterBottomSheet(), + ]), + onLongPress: () => _pupilsFilter.resetFilters(), + child: Icon( + Icons.filter_list, + color: filtersOn ? Colors.deepOrange : Colors.white, + size: 30, + ), + ), + const Gap(15) + ], + ), + ), + ), + ); + } +} + diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_list_search_bar.dart b/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_list_search_bar.dart new file mode 100644 index 00000000..43b7e1e3 --- /dev/null +++ b/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_list_search_bar.dart @@ -0,0 +1,74 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/domain/models/enums.dart'; +import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; +import 'package:school_data_hub_flutter/common/widgets/filter_button.dart'; +import 'package:school_data_hub_flutter/common/widgets/generic_components/generic_filter_bottom_sheet.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/filters/pupils_filter.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/religion_page/widgets/religion_filter_bottom_sheet.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/widgets/pupil_search_text_field.dart'; +import 'package:watch_it/watch_it.dart'; + +final _pupilsFilter = di<PupilsFilter>(); + +class ReligionListSearchBar extends WatchingWidget { + final List<PupilProxy> pupils; + const ReligionListSearchBar({required this.pupils, super.key}); + + @override + Widget build(BuildContext context) { + return Container( + decoration: BoxDecoration( + color: AppColors.canvasColor, + borderRadius: BorderRadius.circular(5.0), + ), + child: Column( + children: [ + const Gap(5), + Padding( + padding: const EdgeInsets.only(left: 10.0, right: 10.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Icon( + Icons.people_alt_rounded, + color: AppColors.backgroundColor, + ), + const Gap(5), + Text( + pupils.length.toString(), + style: const TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: 20, + ), + ), + ], + ), + ), + Padding( + padding: const EdgeInsets.only(top: 10.0, left: 10.0, right: 10.0), + child: Row( + children: [ + Expanded( + child: PupilSearchTextField( + searchType: SearchType.pupil, + hintText: 'Schüler/in suchen', + refreshFunction: _pupilsFilter.refreshs)), + FilterButton( + isSearchBar: true, + showBottomSheetFunction: () => showGenericFilterBottomSheet( + context: context, filterList: [ + const ReligionFilterBottomSheet(), + ]), + ) + ], + ), + ), + ], + ), + ); + } +} + From 4a8cd71a7f17ba9ea3f72198686faa5291581027 Mon Sep 17 00:00:00 2001 From: dabblingwithcode <nacho.dominguis@proton.me> Date: Sun, 23 Nov 2025 18:54:39 +0100 Subject: [PATCH 10/13] server: endpoint changes, schoolday event notification text --- .../endpoints/schoolday_event_endpoint.dart | 4 +- .../endpoints/learning_group_endpoint.dart | 12 ++-- .../endpoints/scheduled_lesson_endpoint.dart | 59 ++++++++----------- .../endpoints/timetable_endpoint.dart | 12 ++-- .../endpoints/timetable_slot_endpoint.dart | 12 ++-- .../schoolday_event_notification_text.dart | 12 ++-- 6 files changed, 49 insertions(+), 62 deletions(-) diff --git a/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart b/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart index f4f66ebe..208d9768 100644 --- a/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart +++ b/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart @@ -77,14 +77,16 @@ class SchooldayEventEndpoint extends Endpoint { await matrixNotifications.sendDirectTextMessage( session: session, recipients: recipients, - text: getSchooldayEventNotificationMarkdown( + text: getSchooldayEventNotificationText( eventcreator: createdBy, pupilName: pupilNameAndGroup, + dateTimeAsString: dateTimeAsString, schooldayEvent: eventWithSchoolday!, numberOfEvents: numberOfEventsOfTheSameType), html: getSchooldayEventNotificationHtml( eventcreator: createdBy, pupilName: pupilNameAndGroup, + dateTimeAsString: dateTimeAsString, schooldayEvent: eventWithSchoolday, numberOfEvents: numberOfEventsOfTheSameType), ); diff --git a/school_data_hub_server/lib/src/_features/timetable/endpoints/learning_group_endpoint.dart b/school_data_hub_server/lib/src/_features/timetable/endpoints/learning_group_endpoint.dart index df3bf393..a8fe2208 100644 --- a/school_data_hub_server/lib/src/_features/timetable/endpoints/learning_group_endpoint.dart +++ b/school_data_hub_server/lib/src/_features/timetable/endpoints/learning_group_endpoint.dart @@ -10,13 +10,11 @@ class LearningGroupEndpoint extends Endpoint { Future<LessonGroup> createLessonGroup( Session session, LessonGroup lessonGroup) async { // Validate that the timetable exists if provided - if (lessonGroup.timetableId != null) { - final timetable = - await Timetable.db.findById(session, lessonGroup.timetableId!); - if (timetable == null) { - throw Exception( - 'Timetable with id ${lessonGroup.timetableId} does not exist.'); - } + final timetable = + await Timetable.db.findById(session, lessonGroup.timetableId); + if (timetable == null) { + throw Exception( + 'Timetable with id ${lessonGroup.timetableId} does not exist.'); } final lessonGroupInDatabase = diff --git a/school_data_hub_server/lib/src/_features/timetable/endpoints/scheduled_lesson_endpoint.dart b/school_data_hub_server/lib/src/_features/timetable/endpoints/scheduled_lesson_endpoint.dart index 5b07afeb..eb94e7bb 100644 --- a/school_data_hub_server/lib/src/_features/timetable/endpoints/scheduled_lesson_endpoint.dart +++ b/school_data_hub_server/lib/src/_features/timetable/endpoints/scheduled_lesson_endpoint.dart @@ -10,53 +10,42 @@ class ScheduledLessonEndpoint extends Endpoint { Future<ScheduledLesson?> createScheduledLesson( Session session, ScheduledLesson scheduledLesson) async { // Validate that the timetable exists - if (scheduledLesson.timetableId != null) { - final timetable = - await Timetable.db.findById(session, scheduledLesson.timetableId!); - if (timetable == null) { - throw Exception( - 'Timetable with id ${scheduledLesson.timetableId} does not exist.'); - } + final timetable = + await Timetable.db.findById(session, scheduledLesson.timetableId); + if (timetable == null) { + throw Exception( + 'Timetable with id ${scheduledLesson.timetableId} does not exist.'); } // Validate that the subject exists - if (scheduledLesson.subjectId != null) { - final subject = - await Subject.db.findById(session, scheduledLesson.subjectId!); - if (subject == null) { - throw Exception( - 'Subject with id ${scheduledLesson.subjectId} does not exist.'); - } + final subject = + await Subject.db.findById(session, scheduledLesson.subjectId); + if (subject == null) { + throw Exception( + 'Subject with id ${scheduledLesson.subjectId} does not exist.'); } // Validate that the room exists - if (scheduledLesson.roomId != null) { - final room = - await Classroom.db.findById(session, scheduledLesson.roomId!); - if (room == null) { - throw Exception( - 'Classroom with id ${scheduledLesson.roomId} does not exist.'); - } + final room = await Classroom.db.findById(session, scheduledLesson.roomId); + if (room == null) { + throw Exception( + 'Classroom with id ${scheduledLesson.roomId} does not exist.'); } // Validate that the lesson group exists - if (scheduledLesson.lessonGroupId != null) { - final lessonGroup = await LessonGroup.db - .findById(session, scheduledLesson.lessonGroupId!); - if (lessonGroup == null) { - throw Exception( - 'Lesson group with id ${scheduledLesson.lessonGroupId} does not exist.'); - } + final lessonGroup = + await LessonGroup.db.findById(session, scheduledLesson.lessonGroupId); + if (lessonGroup == null) { + throw Exception( + 'Lesson group with id ${scheduledLesson.lessonGroupId} does not exist.'); } // Validate that the timetable slot exists - if (scheduledLesson.scheduledAtId != null) { - final slot = await TimetableSlot.db - .findById(session, scheduledLesson.scheduledAtId!); - if (slot == null) { - throw Exception( - 'Timetable slot with id ${scheduledLesson.scheduledAtId} does not exist.'); - } + final slot = + await TimetableSlot.db.findById(session, scheduledLesson.scheduledAtId); + if (slot == null) { + throw Exception( + 'Timetable slot with id ${scheduledLesson.scheduledAtId} does not exist.'); } final scheduledLessonInDatabase = diff --git a/school_data_hub_server/lib/src/_features/timetable/endpoints/timetable_endpoint.dart b/school_data_hub_server/lib/src/_features/timetable/endpoints/timetable_endpoint.dart index d15ff234..969eacac 100644 --- a/school_data_hub_server/lib/src/_features/timetable/endpoints/timetable_endpoint.dart +++ b/school_data_hub_server/lib/src/_features/timetable/endpoints/timetable_endpoint.dart @@ -10,13 +10,11 @@ class TimetableEndpoint extends Endpoint { Future<Timetable> createTimetable( Session session, Timetable timetable) async { // Validate that the school semester exists if provided - if (timetable.schoolSemesterId != null) { - final schoolSemester = await SchoolSemester.db - .findById(session, timetable.schoolSemesterId!); - if (schoolSemester == null) { - throw Exception( - 'School semester with id ${timetable.schoolSemesterId} does not exist.'); - } + final schoolSemester = + await SchoolSemester.db.findById(session, timetable.schoolSemesterId); + if (schoolSemester == null) { + throw Exception( + 'School semester with id ${timetable.schoolSemesterId} does not exist.'); } final timetableInDatabase = diff --git a/school_data_hub_server/lib/src/_features/timetable/endpoints/timetable_slot_endpoint.dart b/school_data_hub_server/lib/src/_features/timetable/endpoints/timetable_slot_endpoint.dart index c3a69c56..fe1dfe80 100644 --- a/school_data_hub_server/lib/src/_features/timetable/endpoints/timetable_slot_endpoint.dart +++ b/school_data_hub_server/lib/src/_features/timetable/endpoints/timetable_slot_endpoint.dart @@ -10,13 +10,11 @@ class TimetableSlotEndpoint extends Endpoint { Future<TimetableSlot> createTimetableSlot( Session session, TimetableSlot timetableSlot) async { // Validate that the timetable exists - if (timetableSlot.timetableId != null) { - final timetable = - await Timetable.db.findById(session, timetableSlot.timetableId!); - if (timetable == null) { - throw Exception( - 'Timetable with id ${timetableSlot.timetableId} does not exist.'); - } + final timetable = + await Timetable.db.findById(session, timetableSlot.timetableId); + if (timetable == null) { + throw Exception( + 'Timetable with id ${timetableSlot.timetableId} does not exist.'); } final timetableSlotInDatabase = diff --git a/school_data_hub_server/lib/src/utils/matrix_notifications/schoolday_event_notification_text.dart b/school_data_hub_server/lib/src/utils/matrix_notifications/schoolday_event_notification_text.dart index 123b0120..f8af2acb 100644 --- a/school_data_hub_server/lib/src/utils/matrix_notifications/schoolday_event_notification_text.dart +++ b/school_data_hub_server/lib/src/utils/matrix_notifications/schoolday_event_notification_text.dart @@ -1,9 +1,10 @@ import 'package:school_data_hub_server/src/generated/protocol.dart'; /// Returns plain text notification message -String getSchooldayEventNotificationMarkdown( +String getSchooldayEventNotificationText( {required String eventcreator, required String pupilName, + required String dateTimeAsString, required SchooldayEvent schooldayEvent, required int numberOfEvents}) { final String eventType = switch (schooldayEvent.eventType) { @@ -11,7 +12,7 @@ String getSchooldayEventNotificationMarkdown( SchooldayEventType.admonitionAndBanned => 'Rote Karte und Abholen 🚫🏠️', SchooldayEventType.afternoonCareAdmonition => 'Rote Karte OGS ⚠️🍽️', SchooldayEventType.parentsMeeting => 'Elterngespräch 👪💬', - SchooldayEventType.otherEvent => 'Sonstiged 🗒️', + SchooldayEventType.otherEvent => 'Sonstiges 🗒️', // TODO: Handle this case. SchooldayEventType.notSet => '❓️', }; @@ -34,7 +35,7 @@ $eventType für $pupilName $eventReason -von $eventcreator +von $eventcreator am $dateTimeAsString Das ist die $numberOfEvents. Schulereignis für $pupilName. '''; @@ -44,6 +45,7 @@ Das ist die $numberOfEvents. Schulereignis für $pupilName. String getSchooldayEventNotificationHtml({ required String eventcreator, required String pupilName, + required String dateTimeAsString, required SchooldayEvent schooldayEvent, required int numberOfEvents, }) { @@ -85,7 +87,7 @@ String getSchooldayEventNotificationHtml({ <h3><strong>${escapeHtml(pupilName)}</strong></h3> <h4>Grund:</h4> <p><strong>${escapeHtml(eventReason).replaceAll('*', '<br>')}</strong></p> -<p>Eingetragen von <strong>${escapeHtml(eventcreator)}</strong></p> -<p>Das ist das <strong>$numberOfEvents</strong>. Schulereignis für <strong>${escapeHtml(pupilName)}</strong>.</p> +<p>Eingetragen von <strong>${escapeHtml(eventcreator)}</strong> am <strong>${escapeHtml(dateTimeAsString)}</strong></p> +<p>Das ist das <strong>$numberOfEvents</strong>. Schulereignis dieser Art für <strong>${escapeHtml(pupilName)}</strong>.</p> '''; } From 62092bafc2e402480654549b79a131507dcbbb1d Mon Sep 17 00:00:00 2001 From: dabblingwithcode <nacho.dominguis@proton.me> Date: Sun, 23 Nov 2025 19:10:30 +0100 Subject: [PATCH 11/13] server: use set for recipients of schoolday event notifications --- .../schoolday_events/endpoints/schoolday_event_endpoint.dart | 2 +- .../src/utils/matrix_notifications/matrix_notifications.dart | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart b/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart index 208d9768..ef214ad4 100644 --- a/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart +++ b/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart @@ -76,7 +76,7 @@ class SchooldayEventEndpoint extends Endpoint { await matrixNotifications.sendDirectTextMessage( session: session, - recipients: recipients, + recipients: recipients.toList(), text: getSchooldayEventNotificationText( eventcreator: createdBy, pupilName: pupilNameAndGroup, diff --git a/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_notifications.dart b/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_notifications.dart index 09d7a471..d4884839 100644 --- a/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_notifications.dart +++ b/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_notifications.dart @@ -92,7 +92,7 @@ class MatrixNotifications { /// Finds notification recipients based on tutor and team name from pupil name /// Returns list of Matrix user IDs (usernames) that should receive notifications - Future<List<String>> findNotificationRecipients({ + Future<Set<String>> findNotificationRecipients({ required Session session, required String pupilNameAndGroup, required String tutor, @@ -123,7 +123,7 @@ class MatrixNotifications { return notificationRecipients .map((user) => user.matrixUserId!) .whereType<String>() - .toList(); + .toSet(); } /// Internal method to send a direct text message to a single user From e41e797df66757bd1ebdbe7f2c316de4997b599e Mon Sep 17 00:00:00 2001 From: dabblingwithcode <nacho.dominguis@proton.me> Date: Sun, 23 Nov 2025 19:57:49 +0100 Subject: [PATCH 12/13] server, app: added notification when school events are modified --- .../lib/src/protocol/client.dart | 12 ++++- .../data/schoolday_event_api_service.dart | 13 +++-- .../endpoints/schoolday_event_endpoint.dart | 48 ++++++++++++++++--- .../lib/src/generated/endpoints.dart | 30 ++++++++++-- .../matrix_notifications.dart | 8 +++- .../schoolday_event_notification_text.dart | 13 +++-- .../test_tools/serverpod_test_tools.dart | 12 ++++- 7 files changed, 112 insertions(+), 24 deletions(-) diff --git a/school_data_hub_client/lib/src/protocol/client.dart b/school_data_hub_client/lib/src/protocol/client.dart index 9dd11c85..0413cfc4 100644 --- a/school_data_hub_client/lib/src/protocol/client.dart +++ b/school_data_hub_client/lib/src/protocol/client.dart @@ -1684,14 +1684,22 @@ class EndpointSchooldayEvent extends _i1.EndpointRef { _i2.Future<_i42.SchooldayEvent> updateSchooldayEvent( _i42.SchooldayEvent schooldayEvent, - bool changedProcessedToFalse, + bool changedProcessedStatus, + String pupilNameAndGroup, + String tutor, + String modifiedBy, + String dateTimeAsString, ) => caller.callServerEndpoint<_i42.SchooldayEvent>( 'schooldayEvent', 'updateSchooldayEvent', { 'schooldayEvent': schooldayEvent, - 'changedProcessedToFalse': changedProcessedToFalse, + 'changedProcessedStatus': changedProcessedStatus, + 'pupilNameAndGroup': pupilNameAndGroup, + 'tutor': tutor, + 'modifiedBy': modifiedBy, + 'dateTimeAsString': dateTimeAsString, }, ); diff --git a/school_data_hub_flutter/lib/features/_schoolday_events/data/schoolday_event_api_service.dart b/school_data_hub_flutter/lib/features/_schoolday_events/data/schoolday_event_api_service.dart index f8a891da..cceae58d 100644 --- a/school_data_hub_flutter/lib/features/_schoolday_events/data/schoolday_event_api_service.dart +++ b/school_data_hub_flutter/lib/features/_schoolday_events/data/schoolday_event_api_service.dart @@ -82,7 +82,7 @@ class SchooldayEventApiService { NullableDateTimeRecord? processedAt, int? schooldayId, }) async { - bool changedProcessedToFalse = false; + bool changedProcessedStatus = false; // if the schooldayEvent is patched as processed, // processing user and processed date are automatically added @@ -90,6 +90,7 @@ class SchooldayEventApiService { processedBy = (value: _hubSessionManager.user!.userInfo!.userName!); processedAt = (value: DateTime.now().formatToUtcForServer()); + changedProcessedStatus = true; } // if the schooldayEvent is patched as not processed, @@ -98,7 +99,7 @@ class SchooldayEventApiService { if (processed == false) { processedBy = (value: null); processedAt = (value: null); - changedProcessedToFalse = true; + changedProcessedStatus = true; } final schooldayEventToUpdate = schooldayEvent.copyWith( createdBy: createdBy ?? schooldayEvent.createdBy, @@ -113,13 +114,17 @@ class SchooldayEventApiService { ? processedAt.value : schooldayEvent.processedAt, ); - + final pupil = di<PupilManager>().getPupilByPupilId(schooldayEvent.pupilId)!; try { _notificationService.apiRunning(true); final updatedSchooldayEvent = await _client.schooldayEvent .updateSchooldayEvent( schooldayEventToUpdate, - changedProcessedToFalse, + changedProcessedStatus, + '${pupil.firstName} (${pupil.group})', + '${pupil.groupTutor}', + '${di<HubSessionManager>().userName!}', + '${DateTime.now().formatDateAndTimeForUser()}', ); _notificationService.apiRunning(false); return updatedSchooldayEvent; diff --git a/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart b/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart index ef214ad4..8f4fbb49 100644 --- a/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart +++ b/school_data_hub_server/lib/src/_features/schoolday_events/endpoints/schoolday_event_endpoint.dart @@ -1,3 +1,5 @@ +import 'dart:async'; + import 'package:logging/logging.dart'; import 'package:school_data_hub_server/src/generated/protocol.dart'; import 'package:school_data_hub_server/src/utils/matrix_notifications/matrix_notifications.dart'; @@ -60,8 +62,8 @@ class SchooldayEventEndpoint extends Endpoint { ?.where((event) => event.eventType == type) .length ?? 0; - final matrixNotifications = MatrixNotifications(); - final recipients = await matrixNotifications.findNotificationRecipients( + final recipients = + await MatrixNotifications.instance.findNotificationRecipients( session: session, pupilNameAndGroup: pupilNameAndGroup, tutor: tutor, @@ -74,7 +76,7 @@ class SchooldayEventEndpoint extends Endpoint { return eventWithSchoolday!; } - await matrixNotifications.sendDirectTextMessage( + unawaited(MatrixNotifications.instance.sendDirectTextMessage( session: session, recipients: recipients.toList(), text: getSchooldayEventNotificationText( @@ -89,7 +91,7 @@ class SchooldayEventEndpoint extends Endpoint { dateTimeAsString: dateTimeAsString, schooldayEvent: eventWithSchoolday, numberOfEvents: numberOfEventsOfTheSameType), - ); + )); // final success = await MailerService.instance.sendNotification( // recipient: recipient?.userInfo?.email ?? '', // subject: 'Neues Schulereignis', @@ -102,10 +104,42 @@ class SchooldayEventEndpoint extends Endpoint { return eventWithSchoolday!; } - Future<SchooldayEvent> updateSchooldayEvent(Session session, - SchooldayEvent schooldayEvent, bool changedProcessedToFalse) async { + Future<SchooldayEvent> updateSchooldayEvent( + Session session, + SchooldayEvent schooldayEvent, + bool changedProcessedStatus, + String pupilNameAndGroup, + String tutor, + String modifiedBy, + String dateTimeAsString, + ) async { + if (changedProcessedStatus) { + final recipients = + await MatrixNotifications.instance.findNotificationRecipients( + session: session, + pupilNameAndGroup: pupilNameAndGroup, + tutor: tutor, + ); + unawaited(MatrixNotifications.instance.sendDirectTextMessage( + session: session, + recipients: recipients.toList(), + text: getSchooldayEventNotificationText( + eventcreator: modifiedBy, + pupilName: pupilNameAndGroup, + dateTimeAsString: dateTimeAsString, + schooldayEvent: schooldayEvent, + processedStatusChange: changedProcessedStatus, + ), + html: getSchooldayEventNotificationHtml( + eventcreator: modifiedBy, + pupilName: pupilNameAndGroup, + dateTimeAsString: dateTimeAsString, + schooldayEvent: schooldayEvent, + processedStatusChange: changedProcessedStatus), + )); + } // If processed is false We need to detach and delete the processed document if it exists - if (changedProcessedToFalse) { + if (changedProcessedStatus && schooldayEvent.processed == false) { if (schooldayEvent.processedDocumentId != null) { final file = await HubDocument.db .findById(session, schooldayEvent.processedDocumentId!); diff --git a/school_data_hub_server/lib/src/generated/endpoints.dart b/school_data_hub_server/lib/src/generated/endpoints.dart index a3aca7c1..ba00aee7 100644 --- a/school_data_hub_server/lib/src/generated/endpoints.dart +++ b/school_data_hub_server/lib/src/generated/endpoints.dart @@ -3504,11 +3504,31 @@ class Endpoints extends _i1.EndpointDispatch { type: _i1.getType<_i67.SchooldayEvent>(), nullable: false, ), - 'changedProcessedToFalse': _i1.ParameterDescription( - name: 'changedProcessedToFalse', + 'changedProcessedStatus': _i1.ParameterDescription( + name: 'changedProcessedStatus', type: _i1.getType<bool>(), nullable: false, ), + 'pupilNameAndGroup': _i1.ParameterDescription( + name: 'pupilNameAndGroup', + type: _i1.getType<String>(), + nullable: false, + ), + 'tutor': _i1.ParameterDescription( + name: 'tutor', + type: _i1.getType<String>(), + nullable: false, + ), + 'modifiedBy': _i1.ParameterDescription( + name: 'modifiedBy', + type: _i1.getType<String>(), + nullable: false, + ), + 'dateTimeAsString': _i1.ParameterDescription( + name: 'dateTimeAsString', + type: _i1.getType<String>(), + nullable: false, + ), }, call: ( _i1.Session session, @@ -3518,7 +3538,11 @@ class Endpoints extends _i1.EndpointDispatch { .updateSchooldayEvent( session, params['schooldayEvent'], - params['changedProcessedToFalse'], + params['changedProcessedStatus'], + params['pupilNameAndGroup'], + params['tutor'], + params['modifiedBy'], + params['dateTimeAsString'], ), ), 'deleteSchooldayEvent': _i1.MethodConnector( diff --git a/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_notifications.dart b/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_notifications.dart index d4884839..df68508a 100644 --- a/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_notifications.dart +++ b/school_data_hub_server/lib/src/utils/matrix_notifications/matrix_notifications.dart @@ -9,7 +9,13 @@ import 'package:serverpod/serverpod.dart'; import 'package:serverpod_auth_server/serverpod_auth_server.dart'; class MatrixNotifications { - MatrixNotifications(); + static MatrixNotifications? _instance; + static MatrixNotifications get instance { + _instance ??= MatrixNotifications._internal(); + return _instance!; + } + + MatrixNotifications._internal(); final _currentUserId = '@schuldaten-hub:hermannschule.de'; final MatrixClient _matrixClient = MatrixClient(); diff --git a/school_data_hub_server/lib/src/utils/matrix_notifications/schoolday_event_notification_text.dart b/school_data_hub_server/lib/src/utils/matrix_notifications/schoolday_event_notification_text.dart index f8af2acb..3fe6769e 100644 --- a/school_data_hub_server/lib/src/utils/matrix_notifications/schoolday_event_notification_text.dart +++ b/school_data_hub_server/lib/src/utils/matrix_notifications/schoolday_event_notification_text.dart @@ -6,7 +6,8 @@ String getSchooldayEventNotificationText( required String pupilName, required String dateTimeAsString, required SchooldayEvent schooldayEvent, - required int numberOfEvents}) { + bool? processedStatusChange, + int? numberOfEvents}) { final String eventType = switch (schooldayEvent.eventType) { SchooldayEventType.admonition => 'Rote Karte 🚫', SchooldayEventType.admonitionAndBanned => 'Rote Karte und Abholen 🚫🏠️', @@ -37,7 +38,7 @@ $eventReason von $eventcreator am $dateTimeAsString -Das ist die $numberOfEvents. Schulereignis für $pupilName. +${numberOfEvents != null ? 'Das ist die $numberOfEvents. Schulereignis für $pupilName.' : ''} '''; } @@ -47,7 +48,8 @@ String getSchooldayEventNotificationHtml({ required String pupilName, required String dateTimeAsString, required SchooldayEvent schooldayEvent, - required int numberOfEvents, + int? numberOfEvents, + bool? processedStatusChange, }) { final String eventType = switch (schooldayEvent.eventType) { SchooldayEventType.admonition => 'Rote Karte 🚫', @@ -87,7 +89,8 @@ String getSchooldayEventNotificationHtml({ <h3><strong>${escapeHtml(pupilName)}</strong></h3> <h4>Grund:</h4> <p><strong>${escapeHtml(eventReason).replaceAll('*', '<br>')}</strong></p> -<p>Eingetragen von <strong>${escapeHtml(eventcreator)}</strong> am <strong>${escapeHtml(dateTimeAsString)}</strong></p> -<p>Das ist das <strong>$numberOfEvents</strong>. Schulereignis dieser Art für <strong>${escapeHtml(pupilName)}</strong>.</p> + ${processedStatusChange != null ? schooldayEvent.processed == true ? '<h3>Status: <strong>Bearbeitet von ${escapeHtml(eventcreator)} am ${escapeHtml(dateTimeAsString)}' : '<h3>Status: <strong>Nicht bearbeitet' : '<p>Eingetragen von <strong>${escapeHtml(eventcreator)}</strong> am <strong>${escapeHtml(dateTimeAsString)}</strong></p>'} + +${numberOfEvents != null ? '<p>Das ist das <strong>$numberOfEvents</strong>. Schulereignis dieser Art für <strong>${escapeHtml(pupilName)}</strong>.</p>' : ''} '''; } diff --git a/school_data_hub_server/test/integration/test_tools/serverpod_test_tools.dart b/school_data_hub_server/test/integration/test_tools/serverpod_test_tools.dart index 38f36b87..f2a68516 100644 --- a/school_data_hub_server/test/integration/test_tools/serverpod_test_tools.dart +++ b/school_data_hub_server/test/integration/test_tools/serverpod_test_tools.dart @@ -4797,7 +4797,11 @@ class _SchooldayEventEndpoint { _i3.Future<_i43.SchooldayEvent> updateSchooldayEvent( _i1.TestSessionBuilder sessionBuilder, _i43.SchooldayEvent schooldayEvent, - bool changedProcessedToFalse, + bool changedProcessedStatus, + String pupilNameAndGroup, + String tutor, + String modifiedBy, + String dateTimeAsString, ) async { return _i1.callAwaitableFunctionAndHandleExceptions(() async { var _localUniqueSession = @@ -4812,7 +4816,11 @@ class _SchooldayEventEndpoint { methodName: 'updateSchooldayEvent', parameters: _i1.testObjectToJson({ 'schooldayEvent': schooldayEvent, - 'changedProcessedToFalse': changedProcessedToFalse, + 'changedProcessedStatus': changedProcessedStatus, + 'pupilNameAndGroup': pupilNameAndGroup, + 'tutor': tutor, + 'modifiedBy': modifiedBy, + 'dateTimeAsString': dateTimeAsString, }), serializationManager: _serializationManager, ); From 2933b9e9500e7a38020a48c1cd916ef19e84e8fc Mon Sep 17 00:00:00 2001 From: dabblingwithcode <nacho.dominguis@proton.me> Date: Mon, 24 Nov 2025 01:09:15 +0100 Subject: [PATCH 13/13] app: fix religion, fix afterschool profile content, added chart test in statistics --- .../widgets/pupil_lists_buttons.dart | 2 +- .../domain/filters/pupil_filter_enums.dart | 3 + .../features/pupil/domain/models/enums.dart | 6 +- .../pupil/domain/models/pupil_proxy.dart | 1 + .../widgets/family_language_lessons_card.dart | 65 +-- .../pupil_ogs_content.dart | 205 ++------- .../pupil_profile_attendance_content.dart | 12 +- .../pupil_profile_page_content.dart | 22 +- .../religion_page/widgets/religion_card.dart | 68 +-- .../statistics/chart_page/chart_page.dart | 395 ++++++++++++++++++ .../chart_page/chart_page_controller.dart | 365 ++++++++++++++++ .../statistics_page/statistics_page.dart | 19 +- school_data_hub_flutter/pubspec.lock | 16 + school_data_hub_flutter/pubspec.yaml | 1 + 14 files changed, 935 insertions(+), 245 deletions(-) create mode 100644 school_data_hub_flutter/lib/features/statistics/chart_page/chart_page.dart create mode 100644 school_data_hub_flutter/lib/features/statistics/chart_page/chart_page_controller.dart diff --git a/school_data_hub_flutter/lib/features/app_main_navigation/widgets/pupil_lists_buttons.dart b/school_data_hub_flutter/lib/features/app_main_navigation/widgets/pupil_lists_buttons.dart index f1ed4688..36e3119e 100644 --- a/school_data_hub_flutter/lib/features/app_main_navigation/widgets/pupil_lists_buttons.dart +++ b/school_data_hub_flutter/lib/features/app_main_navigation/widgets/pupil_lists_buttons.dart @@ -134,7 +134,7 @@ class PupilListButtons extends WatchingWidget { ), ], ), - buttonText: 'HKU', + buttonText: 'HSU', ), MainMenuButton( destinationPage: const OgsListPage(), diff --git a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_filter_enums.dart b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_filter_enums.dart index 5eef1dbf..831bdc28 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_filter_enums.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/filters/pupil_filter_enums.dart @@ -29,6 +29,7 @@ enum PupilFilter { turkishClass, arabicClass, albanianClass, + otherLanguageClass, } Map<PupilFilter, bool> initialPupilFilterValues = { @@ -60,4 +61,6 @@ Map<PupilFilter, bool> initialPupilFilterValues = { PupilFilter.muslimReligion: false, PupilFilter.turkishClass: false, PupilFilter.arabicClass: false, + PupilFilter.albanianClass: false, + PupilFilter.otherLanguageClass: false, }; diff --git a/school_data_hub_flutter/lib/features/pupil/domain/models/enums.dart b/school_data_hub_flutter/lib/features/pupil/domain/models/enums.dart index f8fd3dad..d0d32a42 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/models/enums.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/models/enums.dart @@ -50,12 +50,12 @@ Map<PupilSortMode, bool> initialSortModeValues = { enum ReligionCourse { islam('isl.'), catholic('kath.'), - none('ohne B.'); + none('andere'); static const stringToValue = { 'isl.': ReligionCourse.islam, 'röm.kath.': ReligionCourse.catholic, - 'ohne B.': ReligionCourse.none, + 'andere': ReligionCourse.none, }; final String value; @@ -80,7 +80,7 @@ enum AfterSchoolCareWeekday { monday, tuesday, wednesday, thursday, friday } AfterSchoolCareWeekday? dateTimeToAfterSchoolCareWeekday(DateTime date) { // Convert UTC to local time to get the correct weekday for the user's timezone final localDate = date.isUtc ? date.toLocal() : date; - + // DateTime.weekday: Monday=1, Tuesday=2, ..., Friday=5, Saturday=6, Sunday=7 switch (localDate.weekday) { case 1: diff --git a/school_data_hub_flutter/lib/features/pupil/domain/models/pupil_proxy.dart b/school_data_hub_flutter/lib/features/pupil/domain/models/pupil_proxy.dart index c3ea13e9..73bc9c51 100644 --- a/school_data_hub_flutter/lib/features/pupil/domain/models/pupil_proxy.dart +++ b/school_data_hub_flutter/lib/features/pupil/domain/models/pupil_proxy.dart @@ -34,6 +34,7 @@ class PupilProxy with ChangeNotifier { static List<ReligionCourseFilter> religionCourseFilters = [ ReligionCourseFilter(ReligionCourse.islam), ReligionCourseFilter(ReligionCourse.catholic), + ReligionCourseFilter(ReligionCourse.none), ]; late PupilData _pupilData; diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_card.dart b/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_card.dart index aae1eae8..a2cd0128 100644 --- a/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_card.dart +++ b/school_data_hub_flutter/lib/features/pupil/presentation/family_language_lessons_page/widgets/family_language_lessons_card.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/domain/filters/filters_state_manager.dart'; import 'package:school_data_hub_flutter/features/app_main_navigation/domain/main_menu_bottom_nav_manager.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; @@ -20,8 +21,12 @@ class FamilyLanguageLessonsCard extends WatchingWidget { surfaceTintColor: Colors.white, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), elevation: 1.0, - margin: - const EdgeInsets.only(left: 4.0, right: 4.0, top: 4.0, bottom: 4.0), + margin: const EdgeInsets.only( + left: 4.0, + right: 4.0, + top: 4.0, + bottom: 4.0, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, @@ -52,12 +57,12 @@ class FamilyLanguageLessonsCard extends WatchingWidget { _filterStateManager.resetFilters(); _mainMenuBottomNavManager .setPupilProfileNavPage(0); - Navigator.of(context) - .push(MaterialPageRoute( - builder: (ctx) => PupilProfilePage( - pupil: pupil, + Navigator.of(context).push( + MaterialPageRoute( + builder: (ctx) => + PupilProfilePage(pupil: pupil), ), - )); + ); }, child: Row( children: [ @@ -93,10 +98,22 @@ class FamilyLanguageLessonsCard extends WatchingWidget { ], ), const Gap(5), - const Row( + Row( children: [ - Text('Herkunftssprache:'), - Gap(5), + const Text('Herkunftssprache:'), + const Gap(10), + Text( + pupil.language.isNotEmpty + ? pupil.language + : 'keine Angabe', + overflow: TextOverflow.ellipsis, + softWrap: true, + maxLines: 3, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), ], ), ], @@ -107,26 +124,13 @@ class FamilyLanguageLessonsCard extends WatchingWidget { const Gap(5), Row( children: [ - Flexible( - child: InkWell( - onTap: () {}, - child: Padding( - padding: - const EdgeInsets.only(right: 8.0, bottom: 15), - child: Text( - pupil.language.isNotEmpty - ? pupil.language - : 'keine Angabe', - overflow: TextOverflow.ellipsis, - softWrap: true, - maxLines: 3, - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 14, - ), - ), - ), - ), + Text('Angemeldet am:'), + const Gap(10), + Text( + pupil.familyLanguageLessonsSince != null + ? pupil.familyLanguageLessonsSince! + .formatDateForUser() + : 'keine Angabe', ), ], ), @@ -138,4 +142,3 @@ class FamilyLanguageLessonsCard extends WatchingWidget { ); } } - diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/after_school_care_content/pupil_ogs_content.dart b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/after_school_care_content/pupil_ogs_content.dart index 019e3b63..20d0afa4 100644 --- a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/after_school_care_content/pupil_ogs_content.dart +++ b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/after_school_care_content/pupil_ogs_content.dart @@ -1,165 +1,44 @@ -// import 'package:flutter/material.dart'; -// import 'package:gap/gap.dart'; -// import 'package:schuldaten_hub/common/services/locator.dart'; -// import 'package:schuldaten_hub/common/theme/app_colors.dart'; -// import 'package:schuldaten_hub/common/theme/paddings.dart'; -// import 'package:schuldaten_hub/common/widgets/dialogs/confirmation_dialog.dart'; -// import 'package:schuldaten_hub/common/widgets/dialogs/long_textfield_dialog.dart'; -// import 'package:schuldaten_hub/features/ogs/widgets/dialogs/ogs_pickup_time_dialog.dart'; -// import 'package:schuldaten_hub/features/pupil/domain/models/pupil_proxy.dart'; -// import 'package:schuldaten_hub/features/pupil/domain/pupil_helper_functions.dart'; -// import 'package:schuldaten_hub/features/pupil/domain/pupil_manager.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; +import 'package:school_data_hub_flutter/common/theme/paddings.dart'; +import 'package:school_data_hub_flutter/features/ogs/widgets/ogs_details.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; -// class PupilOgsContent extends StatelessWidget { -// final PupilProxy pupil; -// const PupilOgsContent({required this.pupil, super.key}); +class PupilOgsContent extends StatelessWidget { + final PupilProxy pupil; + const PupilOgsContent({required this.pupil, super.key}); -// @override -// Widget build(BuildContext context) { -// return Card( -// color: AppColors.pupilProfileCardColor, -// shape: RoundedRectangleBorder( -// borderRadius: BorderRadius.circular(10), -// ), -// child: Padding( -// padding: AppPaddings.pupilProfileCardPadding, -// child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ -// const Row(crossAxisAlignment: CrossAxisAlignment.center, children: [ -// Icon( -// Icons.lightbulb, -// color: AppColors.accentColor, -// size: 24, -// ), -// Gap(5), -// Text('OGS-Informationen', -// style: TextStyle( -// fontSize: 24, -// fontWeight: FontWeight.bold, -// color: AppColors.backgroundColor, -// )) -// ]), -// const Gap(15), -// Row( -// children: [ -// const Text('Notbetreuungsberechtigt: '), -// const Gap(5), -// InkWell( -// onTap: () async { -// final bool? confirm = await confirmationDialog( -// context: context, -// title: 'Notbetreuungsberechtigung ändern', -// message: -// 'Notbetreuungsberechtigung für dieses Kind ändern?'); -// if (confirm == false || confirm == null) return; -// await locator<PupilManager>().patchOnePupilProperty( -// pupilId: pupil.internalId, -// jsonKey: 'emergency_care', -// value: pupil.emergencyCare == true ? 'false' : 'true'); -// }, -// child: Text( -// pupil.emergencyCare == true ? 'Ja' : 'Nein', -// style: const TextStyle( -// fontWeight: FontWeight.bold, -// fontSize: 16, -// color: AppColors.backgroundColor, -// ), -// ), -// ), -// ], -// ), -// if (pupil.ogs == false) -// const Row( -// children: [ -// Gap(25), -// Text( -// 'Nicht angemeldet.', -// style: TextStyle( -// fontWeight: FontWeight.bold, -// fontSize: 16, -// color: AppColors.backgroundColor, -// ), -// ), -// ], -// ) -// else -// Column( -// children: [ -// Row( -// children: [ -// const Gap(25), -// Flexible( -// child: InkWell( -// onTap: () async { -// final String? ogsInfo = await longTextFieldDialog( -// title: 'OGS Informationen', -// labelText: 'OGS Informationen', -// textinField: pupil.ogsInfo ?? '', -// parentContext: context); -// if (ogsInfo == null) return; -// await locator<PupilManager>().patchOnePupilProperty( -// pupilId: pupil.internalId, -// jsonKey: 'ogs_info', -// value: ogsInfo); -// }, -// onLongPress: () async { -// if (pupil.ogsInfo == null) return; -// final bool? confirm = await confirmationDialog( -// context: context, -// title: 'OGS Infos löschen', -// message: -// 'OGS Informationen für dieses Kind löschen?'); -// if (confirm == false || confirm == null) return; -// await locator<PupilManager>().patchOnePupilProperty( -// pupilId: pupil.internalId, -// jsonKey: 'ogs_info', -// value: null); -// }, -// child: Text( -// pupil.ogsInfo == null || pupil.ogsInfo!.isEmpty -// ? 'keine Infos' -// : pupil.ogsInfo!, -// overflow: TextOverflow.ellipsis, -// softWrap: true, -// maxLines: 3, -// style: const TextStyle( -// fontWeight: FontWeight.bold, -// fontSize: 16, -// color: AppColors.backgroundColor, -// ), -// ), -// ), -// ), -// ], -// ), -// const Gap(15), -// Row( -// children: [ -// const Gap(25), -// Row( -// children: [ -// const Text('Abholzeit:'), -// const Gap(5), -// InkWell( -// onTap: () => pickUpTimeDialog( -// context, pupil, pupil.pickUpTime), -// child: Text( -// pickUpValue(pupil.pickUpTime), -// style: const TextStyle( -// fontSize: 23, -// fontWeight: FontWeight.bold, -// color: AppColors.backgroundColor), -// ), -// ), -// const Gap(5), -// const Text('Uhr'), -// ], -// ), -// ], -// ), -// ], -// ), -// ]), -// ), -// ); -// } -// } + @override + Widget build(BuildContext context) { + return Card( + color: AppColors.pupilProfileCardColor, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), + child: Padding( + padding: AppPaddings.pupilProfileCardPadding, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Icon(Icons.lightbulb, color: AppColors.accentColor, size: 24), + Gap(5), + Text( + 'OGS-Informationen', + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: AppColors.backgroundColor, + ), + ), + ], + ), + const Gap(15), + OgsDetails(pupil: pupil), + ], + ), + ), + ); + } +} diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/attendance_content/pupil_profile_attendance_content.dart b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/attendance_content/pupil_profile_attendance_content.dart index 96378aa3..7c972c29 100644 --- a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/attendance_content/pupil_profile_attendance_content.dart +++ b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/attendance_content/pupil_profile_attendance_content.dart @@ -21,10 +21,10 @@ class PupilProfileAttendanceContent extends StatelessWidget { Widget build(BuildContext context) { final missedHoursForActualReport = AttendanceHelper.missedHoursforSemesterOrSchoolyear(pupil); - List<MissedSchoolday> missedSchooldays = - _attendanceManager - .getPupilMissedSchooldaysProxy(pupil.pupilId) - .missedSchooldays; + + List<MissedSchoolday> missedSchooldays = _attendanceManager + .getPupilMissedSchooldaysProxy(pupil.pupilId) + .missedSchooldays; // sort by missedDay missedSchooldays.sort( (b, a) => a.schoolday!.schoolday.compareTo(b.schoolday!.schoolday), @@ -49,8 +49,8 @@ class PupilProfileAttendanceContent extends StatelessWidget { onTap: () { Navigator.of(context).push( MaterialPageRoute( - builder: - (ctx) => const MissedSchooldayesPupilListPage(), + builder: (ctx) => + const MissedSchooldayesPupilListPage(), ), ); }, diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/pupil_profile_page_content.dart b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/pupil_profile_page_content.dart index 4097490e..f4207c85 100644 --- a/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/pupil_profile_page_content.dart +++ b/school_data_hub_flutter/lib/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/pupil_profile_page_content.dart @@ -4,6 +4,7 @@ import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/features/app_main_navigation/domain/main_menu_bottom_nav_manager.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; import 'package:school_data_hub_flutter/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_navigation.dart'; +import 'package:school_data_hub_flutter/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/after_school_care_content/pupil_ogs_content.dart'; import 'package:school_data_hub_flutter/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/authorization_content/pupil_profile_authorization_content.dart'; import 'package:school_data_hub_flutter/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/communication_content/pupil_profile_communication_content.dart'; import 'package:school_data_hub_flutter/features/pupil/presentation/pupil_profile_page/widgets/pupil_profile_page_content/credit/pupil_profile_credit_content.dart'; @@ -44,15 +45,16 @@ class PupilProfilePageContent extends WatchingWidget { duration: const Duration(milliseconds: 300), transitionBuilder: (Widget child, Animation<double> animation) { return SlideTransition( - position: Tween<Offset>( - begin: const Offset(0.1, 0), - end: Offset.zero, - ).animate( - CurvedAnimation( - parent: animation, - curve: Curves.easeInOut, - ), - ), + position: + Tween<Offset>( + begin: const Offset(0.1, 0), + end: Offset.zero, + ).animate( + CurvedAnimation( + parent: animation, + curve: Curves.easeInOut, + ), + ), child: FadeTransition(opacity: animation, child: child), ); }, @@ -100,6 +102,8 @@ class PupilProfilePageContent extends WatchingWidget { return PupilAttendanceContent(pupil: pupil); } else if (navState == ProfileNavigationState.schooldayEvent.value) { return PupilProfileSchooldayEventsContent(pupil: pupil); + } else if (navState == ProfileNavigationState.ogs.value) { + return PupilOgsContent(pupil: pupil); } else if (navState == ProfileNavigationState.lists.value) { return PupilSchoolListsContentCard(pupil: pupil); } else if (navState == ProfileNavigationState.authorization.value) { diff --git a/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_card.dart b/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_card.dart index e9cedcc5..a866764e 100644 --- a/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_card.dart +++ b/school_data_hub_flutter/lib/features/pupil/presentation/religion_page/widgets/religion_card.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; +import 'package:school_data_hub_flutter/app_utils/extensions/datetime_extensions.dart'; import 'package:school_data_hub_flutter/common/domain/filters/filters_state_manager.dart'; import 'package:school_data_hub_flutter/features/app_main_navigation/domain/main_menu_bottom_nav_manager.dart'; import 'package:school_data_hub_flutter/features/pupil/domain/models/pupil_proxy.dart'; @@ -20,8 +21,12 @@ class ReligionCard extends WatchingWidget { surfaceTintColor: Colors.white, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), elevation: 1.0, - margin: - const EdgeInsets.only(left: 4.0, right: 4.0, top: 4.0, bottom: 4.0), + margin: const EdgeInsets.only( + left: 4.0, + right: 4.0, + top: 4.0, + bottom: 4.0, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, @@ -52,12 +57,12 @@ class ReligionCard extends WatchingWidget { _filterStateManager.resetFilters(); _mainMenuBottomNavManager .setPupilProfileNavPage(0); - Navigator.of(context) - .push(MaterialPageRoute( - builder: (ctx) => PupilProfilePage( - pupil: pupil, + Navigator.of(context).push( + MaterialPageRoute( + builder: (ctx) => + PupilProfilePage(pupil: pupil), ), - )); + ); }, child: Row( children: [ @@ -92,11 +97,27 @@ class ReligionCard extends WatchingWidget { ), ], ), - const Gap(5), - const Row( + + Row( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text('Religion:'), - Gap(5), + const Text('Religion:'), + const Gap(10), + Flexible( + child: InkWell( + onTap: () {}, + child: Text( + pupil.religion ?? 'keine Angabe', + overflow: TextOverflow.ellipsis, + softWrap: true, + maxLines: 3, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + ), + ), ], ), ], @@ -107,24 +128,12 @@ class ReligionCard extends WatchingWidget { const Gap(5), Row( children: [ - Flexible( - child: InkWell( - onTap: () {}, - child: Padding( - padding: - const EdgeInsets.only(right: 8.0, bottom: 15), - child: Text( - pupil.religion ?? 'keine Angabe', - overflow: TextOverflow.ellipsis, - softWrap: true, - maxLines: 3, - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 14, - ), - ), - ), - ), + Text('Angemeldet seit:'), + const Gap(10), + Text( + pupil.religionLessonsSince != null + ? pupil.religionLessonsSince!.formatDateForUser() + : 'keine Angabe', ), ], ), @@ -136,4 +145,3 @@ class ReligionCard extends WatchingWidget { ); } } - diff --git a/school_data_hub_flutter/lib/features/statistics/chart_page/chart_page.dart b/school_data_hub_flutter/lib/features/statistics/chart_page/chart_page.dart new file mode 100644 index 00000000..43c1d0a6 --- /dev/null +++ b/school_data_hub_flutter/lib/features/statistics/chart_page/chart_page.dart @@ -0,0 +1,395 @@ +import 'package:community_charts_flutter/community_charts_flutter.dart' as charts; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:school_data_hub_client/school_data_hub_client.dart'; +import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; +import 'package:school_data_hub_flutter/common/theme/styles.dart'; + +class ChartPage extends StatelessWidget { + final Map<DateTime, ({int specialNeeds, int migrationSupport, int supportLevel3, int regularPupils, int newPupils})> chartData; + final List<Schoolday> schooldays; + + const ChartPage({ + super.key, + required this.chartData, + required this.schooldays, + }); + + // Sort schooldays by date - make it accessible + List<Schoolday> get sortedSchooldays { + return List<Schoolday>.from(schooldays) + ..sort((a, b) => a.schoolday.compareTo(b.schoolday)); + } + + /// Gets the first schoolday of each month for tick labels + Set<String> _getFirstOfMonthDates() { + final Set<String> firstOfMonthDates = {}; + String? currentMonth; + + for (final schoolday in sortedSchooldays) { + final date = schoolday.schoolday.toLocal(); + final monthKey = '${date.year}-${date.month}'; + + // If this is a new month, add the first schoolday of that month + if (monthKey != currentMonth) { + currentMonth = monthKey; + firstOfMonthDates.add(_formatDateForChart(schoolday.schoolday)); + } + } + + return firstOfMonthDates; + } + + List<charts.Series<ChartData, String>> _createSeries() { + // Sort schooldays by date + final sorted = sortedSchooldays; + + final specialNeedsData = sorted.map((schoolday) { + final data = chartData[schoolday.schoolday]; + final dateStr = _formatDateForChart(schoolday.schoolday); + return ChartData( + date: schoolday.schoolday, + dateString: dateStr, + count: data?.specialNeeds ?? 0, + seriesId: 'specialNeeds', + ); + }).toList(); + + final migrationSupportData = sorted.map((schoolday) { + final data = chartData[schoolday.schoolday]; + final dateStr = _formatDateForChart(schoolday.schoolday); + return ChartData( + date: schoolday.schoolday, + dateString: dateStr, + count: data?.migrationSupport ?? 0, + seriesId: 'migrationSupport', + ); + }).toList(); + + final supportLevel3Data = sorted.map((schoolday) { + final data = chartData[schoolday.schoolday]; + final dateStr = _formatDateForChart(schoolday.schoolday); + return ChartData( + date: schoolday.schoolday, + dateString: dateStr, + count: data?.supportLevel3 ?? 0, + seriesId: 'supportLevel3', + ); + }).toList(); + + final regularPupilsData = sorted.map((schoolday) { + final data = chartData[schoolday.schoolday]; + final dateStr = _formatDateForChart(schoolday.schoolday); + return ChartData( + date: schoolday.schoolday, + dateString: dateStr, + count: data?.regularPupils ?? 0, + seriesId: 'regularPupils', + ); + }).toList(); + + final newPupilsData = sorted.map((schoolday) { + final data = chartData[schoolday.schoolday]; + final dateStr = _formatDateForChart(schoolday.schoolday); + return ChartData( + date: schoolday.schoolday, + dateString: dateStr, + count: data?.newPupils ?? 0, + seriesId: 'newPupils', + ); + }).toList(); + + return [ + charts.Series<ChartData, String>( + id: 'Special Needs', + colorFn: (_, __) => charts.ColorUtil.fromDartColor( + AppColors.accentColor, + ), + domainFn: (ChartData data, _) => data.dateString, + measureFn: (ChartData data, _) => data.count, + data: specialNeedsData, + ), + charts.Series<ChartData, String>( + id: 'Migration Support', + colorFn: (_, __) => charts.ColorUtil.fromDartColor( + AppColors.backgroundColor, + ), + domainFn: (ChartData data, _) => data.dateString, + measureFn: (ChartData data, _) => data.count, + data: migrationSupportData, + ), + charts.Series<ChartData, String>( + id: 'Support Level 3', + colorFn: (_, __) => charts.ColorUtil.fromDartColor( + AppColors.warningButtonColor, + ), + domainFn: (ChartData data, _) => data.dateString, + measureFn: (ChartData data, _) => data.count, + data: supportLevel3Data, + ), + charts.Series<ChartData, String>( + id: 'Regular Pupils', + colorFn: (_, __) => charts.ColorUtil.fromDartColor( + const Color.fromARGB(255, 200, 200, 200), // Light gray for regular pupils + ), + domainFn: (ChartData data, _) => data.dateString, + measureFn: (ChartData data, _) => data.count, + data: regularPupilsData, + ), + charts.Series<ChartData, String>( + id: 'New Pupils', + colorFn: (_, __) => charts.ColorUtil.fromDartColor( + AppColors.successButtonColor, + ), + domainFn: (ChartData data, _) => data.dateString, + measureFn: (ChartData data, _) => data.count, + data: newPupilsData, + )..setAttribute(charts.rendererIdKey, 'lineSeries'), + ]; + } + + String _formatDateForChart(DateTime date) { + final localDate = date.isUtc ? date.toLocal() : date; + return DateFormat('dd.MM').format(localDate); + } + + + @override + Widget build(BuildContext context) { + if (schooldays.isEmpty) { + return Scaffold( + backgroundColor: AppColors.canvasColor, + appBar: AppBar( + automaticallyImplyLeading: false, + backgroundColor: AppColors.backgroundColor, + centerTitle: true, + title: const Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.bar_chart_rounded, size: 25, color: Colors.white), + Gap(10), + Text('Statistik Diagramm', style: AppStyles.appBarTextStyle), + ], + ), + ), + body: const Center( + child: Text('Keine Daten verfügbar'), + ), + ); + } + + final series = _createSeries(); + + return Scaffold( + backgroundColor: AppColors.canvasColor, + appBar: AppBar( + automaticallyImplyLeading: false, + backgroundColor: AppColors.backgroundColor, + centerTitle: true, + title: const Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.bar_chart_rounded, size: 25, color: Colors.white), + Gap(10), + Text('Statistik Diagramm', style: AppStyles.appBarTextStyle), + ], + ), + ), + body: Center( + child: ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 800), + child: Padding( + padding: const EdgeInsets.all(20.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(15), + const Text( + 'Schülerzahlen nach Schultag', + style: AppStyles.title, + ), + const Gap(10), + Expanded( + child: LayoutBuilder( + builder: (context, constraints) { + if (constraints.maxHeight <= 0 || constraints.maxWidth <= 0) { + return const Center( + child: Text('Chart wird geladen...'), + ); + } + return charts.OrdinalComboChart( + series, + animate: true, + animationDuration: const Duration(milliseconds: 500), + defaultRenderer: charts.LineRendererConfig( + includeArea: true, + stacked: true, + ), + customSeriesRenderers: [ + charts.LineRendererConfig( + customRendererId: 'lineSeries', + strokeWidthPx: 3.0, // Make the line thicker + includeArea: false, + stacked: false, + ), + ], + layoutConfig: charts.LayoutConfig( + leftMarginSpec: charts.MarginSpec.fixedPixel(60), + topMarginSpec: charts.MarginSpec.fixedPixel(20), + rightMarginSpec: charts.MarginSpec.fixedPixel(40), + bottomMarginSpec: charts.MarginSpec.fixedPixel(60), + ), + primaryMeasureAxis: const charts.NumericAxisSpec( + tickProviderSpec: charts.BasicNumericTickProviderSpec( + zeroBound: true, + ), + ), + domainAxis: charts.OrdinalAxisSpec( + tickProviderSpec: charts.StaticOrdinalTickProviderSpec( + sortedSchooldays.map((schoolday) { + final dateStr = _formatDateForChart(schoolday.schoolday); + final firstOfMonthDates = _getFirstOfMonthDates(); + + // Only show label if it's the first of a month + if (firstOfMonthDates.contains(dateStr)) { + try { + final date = DateFormat('dd.MM').parse(dateStr); + return charts.TickSpec<String>( + dateStr, + label: DateFormat('MMM').format(date), + ); + } catch (e) { + return charts.TickSpec<String>(dateStr); + } + } else { + // Return tick with empty label for other dates + return charts.TickSpec<String>( + dateStr, + label: '', + ); + } + }).toList(), + ), + ), + behaviors: [ + charts.SeriesLegend( + position: charts.BehaviorPosition.bottom, + desiredMaxRows: 4, + cellPadding: const EdgeInsets.only( + right: 4.0, + bottom: 4.0, + ), + ), + charts.ChartTitle( + 'Schultag', + behaviorPosition: charts.BehaviorPosition.bottom, + titleOutsideJustification: + charts.OutsideJustification.middleDrawArea, + ), + charts.ChartTitle( + 'Anzahl Schüler', + behaviorPosition: charts.BehaviorPosition.start, + titleOutsideJustification: + charts.OutsideJustification.middleDrawArea, + ), + ], + ); + }, + ), + ), + const Gap(20), + Wrap( + alignment: WrapAlignment.center, + spacing: 20, + runSpacing: 10, + children: [ + _buildLegendItem( + 'Besonderer Förderbedarf', + AppColors.accentColor, + ), + _buildLegendItem( + 'Migrationsunterstützung', + AppColors.backgroundColor, + ), + _buildLegendItem( + 'Förderstufe 3', + AppColors.warningButtonColor, + ), + _buildLegendItem( + 'Reguläre Schüler', + const Color.fromARGB(255, 200, 200, 200), + ), + _buildLegendItem( + 'Neue Schüler', + AppColors.successButtonColor, + ), + ], + ), + const Gap(20), + ], + ), + ), + ), + ), + bottomNavigationBar: BottomAppBar( + padding: const EdgeInsets.all(10), + shape: null, + color: AppColors.backgroundColor, + child: IconTheme( + data: IconThemeData(color: Theme.of(context).colorScheme.onPrimary), + child: ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 800), + child: Row( + children: [ + IconButton( + tooltip: 'zurück', + icon: const Icon(Icons.arrow_back, size: 30), + onPressed: () { + Navigator.pop(context); + }, + ), + const Spacer(), + ], + ), + ), + ), + ), + ); + } + + Widget _buildLegendItem(String label, Color color) { + return Row( + children: [ + Container( + width: 20, + height: 20, + decoration: BoxDecoration( + color: color, + borderRadius: BorderRadius.circular(4), + ), + ), + const Gap(8), + Text( + label, + style: const TextStyle(fontSize: 14), + ), + ], + ); + } +} + +class ChartData { + final DateTime date; + final String dateString; + final int count; + final String seriesId; + + ChartData({ + required this.date, + required this.dateString, + required this.count, + required this.seriesId, + }); +} + diff --git a/school_data_hub_flutter/lib/features/statistics/chart_page/chart_page_controller.dart b/school_data_hub_flutter/lib/features/statistics/chart_page/chart_page_controller.dart new file mode 100644 index 00000000..a613e009 --- /dev/null +++ b/school_data_hub_flutter/lib/features/statistics/chart_page/chart_page_controller.dart @@ -0,0 +1,365 @@ +import 'package:flutter/material.dart'; +import 'package:school_data_hub_client/school_data_hub_client.dart'; +import 'package:school_data_hub_flutter/features/pupil/domain/pupil_manager.dart'; +import 'package:school_data_hub_flutter/features/school_calendar/domain/school_calendar_manager.dart'; +import 'package:school_data_hub_flutter/features/statistics/chart_page/chart_page.dart'; +import 'package:watch_it/watch_it.dart'; + +class ChartPageController extends StatefulWidget { + const ChartPageController({super.key}); + + @override + State<ChartPageController> createState() => _ChartPageControllerState(); +} + +class _ChartPageControllerState extends State<ChartPageController> { + late final PupilManager _pupilManager; + late final SchoolCalendarManager _schoolCalendarManager; + + @override + void initState() { + super.initState(); + _pupilManager = di<PupilManager>(); + _schoolCalendarManager = di<SchoolCalendarManager>(); + } + + /// Gets schooldays for the current semester + List<Schoolday> getSchooldaysForCurrentSemester() { + final currentSemester = _schoolCalendarManager.getCurrentSchoolSemester(); + if (currentSemester == null) { + return []; + } + + final allSchooldays = _schoolCalendarManager.schooldays.value; + final semesterStart = currentSemester.startDate.toLocal(); + final semesterEnd = currentSemester.endDate.toLocal(); + + return allSchooldays.where((schoolday) { + final schooldayDate = schoolday.schoolday.toLocal(); + final startDate = DateTime( + semesterStart.year, + semesterStart.month, + semesterStart.day, + ); + final endDate = DateTime( + semesterEnd.year, + semesterEnd.month, + semesterEnd.day, + ); + final dayDate = DateTime( + schooldayDate.year, + schooldayDate.month, + schooldayDate.day, + ); + return (dayDate.isAfter(startDate) || dayDate == startDate) && + (dayDate.isBefore(endDate) || dayDate == endDate); + }).toList()..sort((a, b) => a.schoolday.compareTo(b.schoolday)); + } + + /// Counts pupils with specialNeeds for a given schoolday + /// Only counts pupils where pupilSince <= schoolday date + int getSpecialNeedsCountForSchoolday(Schoolday schoolday) { + final pupils = _pupilManager.allPupils; + final schooldayDate = schoolday.schoolday.toLocal(); + final dayDate = DateTime( + schooldayDate.year, + schooldayDate.month, + schooldayDate.day, + ); + + return pupils.where((pupil) { + final pupilSince = pupil.pupilSince.toLocal(); + final sinceDate = DateTime( + pupilSince.year, + pupilSince.month, + pupilSince.day, + ); + // Pupil must be enrolled on or before this schoolday + if (sinceDate.isAfter(dayDate)) { + return false; + } + // Pupil must have specialNeeds + return pupil.specialNeeds != null && pupil.specialNeeds!.isNotEmpty; + }).length; + } + + /// Counts pupils with migrationSupportEnds for a given schoolday + /// Only counts pupils where pupilSince <= schoolday date + /// and migrationSupportEnds is on or after the schoolday + int getMigrationSupportCountForSchoolday(Schoolday schoolday) { + final pupils = _pupilManager.allPupils; + final schooldayDate = schoolday.schoolday.toLocal(); + final dayDate = DateTime( + schooldayDate.year, + schooldayDate.month, + schooldayDate.day, + ); + + return pupils.where((pupil) { + final pupilSince = pupil.pupilSince.toLocal(); + final sinceDate = DateTime( + pupilSince.year, + pupilSince.month, + pupilSince.day, + ); + // Pupil must be enrolled on or before this schoolday + if (sinceDate.isAfter(dayDate)) { + return false; + } + + // Pupil must have migrationSupportEnds + if (pupil.migrationSupportEnds == null) { + return false; + } + + // Check if migrationSupportEnds falls on a valid schoolday + final supportEndsDate = pupil.migrationSupportEnds!.toLocal(); + final supportDate = DateTime( + supportEndsDate.year, + supportEndsDate.month, + supportEndsDate.day, + ); + return dayDate.isBefore(supportDate) || dayDate == supportDate; + }).length; + } + + /// Counts new pupils enrolled during the semester up to a given schoolday + /// Cumulative count starting from 0 on the first semester day + int getNewPupilsCountForSchoolday( + Schoolday schoolday, + List<Schoolday> allSchooldays, + ) { + final currentSemester = _schoolCalendarManager.getCurrentSchoolSemester(); + if (currentSemester == null) { + return 0; + } + + // First day of semester should always be 0 + if (allSchooldays.isNotEmpty) { + final firstDay = allSchooldays.first.schoolday.toLocal(); + final currentDay = schoolday.schoolday.toLocal(); + final firstDayDate = DateTime( + firstDay.year, + firstDay.month, + firstDay.day, + ); + final currentDayDate = DateTime( + currentDay.year, + currentDay.month, + currentDay.day, + ); + if (firstDayDate == currentDayDate) { + return 0; + } + } + + final pupils = _pupilManager.allPupils; + final schooldayDate = schoolday.schoolday.toLocal(); + final dayDate = DateTime( + schooldayDate.year, + schooldayDate.month, + schooldayDate.day, + ); + final semesterStart = currentSemester.startDate.toLocal(); + final semesterStartDate = DateTime( + semesterStart.year, + semesterStart.month, + semesterStart.day, + ); + + return pupils.where((pupil) { + final pupilSince = pupil.pupilSince.toLocal(); + final sinceDate = DateTime( + pupilSince.year, + pupilSince.month, + pupilSince.day, + ); + // Pupil must be enrolled on or before this schoolday + // AND pupilSince must be within the semester (on or after semester start) + return (sinceDate.isBefore(dayDate) || sinceDate == dayDate) && + (sinceDate.isAfter(semesterStartDate) || + sinceDate == semesterStartDate); + }).length; + } + + /// Counts pupils with support level 3 (no special needs) for a given schoolday + /// Only counts pupils where pupilSince <= schoolday date + /// and latestSupportLevel.createdAt <= schoolday date + int getSupportLevel3CountForSchoolday(Schoolday schoolday) { + final pupils = _pupilManager.allPupils; + final schooldayDate = schoolday.schoolday.toLocal(); + final dayDate = DateTime( + schooldayDate.year, + schooldayDate.month, + schooldayDate.day, + ); + + return pupils.where((pupil) { + final pupilSince = pupil.pupilSince.toLocal(); + final sinceDate = DateTime( + pupilSince.year, + pupilSince.month, + pupilSince.day, + ); + // Pupil must be enrolled on or before this schoolday + if (sinceDate.isAfter(dayDate)) { + return false; + } + + // Pupil must NOT have specialNeeds + if (pupil.specialNeeds != null && pupil.specialNeeds!.isNotEmpty) { + return false; + } + + // Pupil must have latestSupportLevel with level == 3 + final latestSupportLevel = pupil.latestSupportLevel; + if (latestSupportLevel == null || latestSupportLevel.level != 3) { + return false; + } + + // latestSupportLevel.createdAt must be equal to or before the schoolday + final supportCreatedAt = latestSupportLevel.createdAt.toLocal(); + final supportDate = DateTime( + supportCreatedAt.year, + supportCreatedAt.month, + supportCreatedAt.day, + ); + if (supportDate.isAfter(dayDate)) { + return false; + } + + return true; + }).length; + } + + /// Counts pupils without specialNeeds, migrationSupport, or support level 3 for a given schoolday + /// Only counts pupils where pupilSince <= schoolday date + int getRegularPupilsCountForSchoolday(Schoolday schoolday) { + final pupils = _pupilManager.allPupils; + final schooldayDate = schoolday.schoolday.toLocal(); + final dayDate = DateTime( + schooldayDate.year, + schooldayDate.month, + schooldayDate.day, + ); + + return pupils.where((pupil) { + final pupilSince = pupil.pupilSince.toLocal(); + final sinceDate = DateTime( + pupilSince.year, + pupilSince.month, + pupilSince.day, + ); + // Pupil must be enrolled on or before this schoolday + if (sinceDate.isAfter(dayDate)) { + return false; + } + + // Pupil must NOT have specialNeeds + if (pupil.specialNeeds != null && pupil.specialNeeds!.isNotEmpty) { + return false; + } + + // Pupil must NOT have active migrationSupportEnds + // (migrationSupportEnds is null OR it's before this schoolday) + if (pupil.migrationSupportEnds != null) { + final supportEndsDate = pupil.migrationSupportEnds!.toLocal(); + final supportDate = DateTime( + supportEndsDate.year, + supportEndsDate.month, + supportEndsDate.day, + ); + // If migrationSupportEnds is on or after this schoolday, pupil has migration support + if (dayDate.isBefore(supportDate) || dayDate == supportDate) { + return false; + } + } + + // Pupil must NOT have support level 3 (no special needs) + final latestSupportLevel = pupil.latestSupportLevel; + if (latestSupportLevel != null && latestSupportLevel.level == 3) { + final supportCreatedAt = latestSupportLevel.createdAt.toLocal(); + final supportDate = DateTime( + supportCreatedAt.year, + supportCreatedAt.month, + supportCreatedAt.day, + ); + // If support level 3 was created on or before this schoolday, exclude from regular + if (supportDate.isBefore(dayDate) || supportDate == dayDate) { + return false; + } + } + + return true; + }).length; + } + + /// Gets data for the chart: schooldays with their counts + Map< + DateTime, + ({ + int specialNeeds, + int migrationSupport, + int supportLevel3, + int regularPupils, + int newPupils, + }) + > + getChartData() { + final schooldays = getSchooldaysForCurrentSemester(); + final Map< + DateTime, + ({ + int specialNeeds, + int migrationSupport, + int supportLevel3, + int regularPupils, + int newPupils, + }) + > + data = {}; + + for (final schoolday in schooldays) { + data[schoolday.schoolday] = ( + specialNeeds: getSpecialNeedsCountForSchoolday(schoolday), + migrationSupport: getMigrationSupportCountForSchoolday(schoolday), + supportLevel3: getSupportLevel3CountForSchoolday(schoolday), + regularPupils: getRegularPupilsCountForSchoolday(schoolday), + newPupils: getNewPupilsCountForSchoolday(schoolday, schooldays), + ); + } + + return data; + } + + @override + Widget build(BuildContext context) { + final chartData = getChartData(); + final schooldays = getSchooldaysForCurrentSemester(); + + if (schooldays.isEmpty) { + return Scaffold( + backgroundColor: const Color(0xfff2f2f7), + appBar: AppBar( + automaticallyImplyLeading: false, + backgroundColor: const Color.fromRGBO(74, 76, 161, 1), + centerTitle: true, + title: const Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.bar_chart_rounded, size: 25, color: Colors.white), + SizedBox(width: 10), + Text( + 'Statistik Diagramm', + style: TextStyle(color: Colors.white, fontSize: 20), + ), + ], + ), + ), + body: const Center(child: Text('Kein Schulhalbjahr gefunden')), + ); + } + + return ChartPage(chartData: chartData, schooldays: schooldays); + } +} diff --git a/school_data_hub_flutter/lib/features/statistics/statistics_page/statistics_page.dart b/school_data_hub_flutter/lib/features/statistics/statistics_page/statistics_page.dart index 887b431d..43065b2c 100644 --- a/school_data_hub_flutter/lib/features/statistics/statistics_page/statistics_page.dart +++ b/school_data_hub_flutter/lib/features/statistics/statistics_page/statistics_page.dart @@ -3,6 +3,7 @@ import 'package:gap/gap.dart'; import 'package:school_data_hub_flutter/common/theme/app_colors.dart'; import 'package:school_data_hub_flutter/common/theme/styles.dart'; // ignore: directives_ordering +import 'package:school_data_hub_flutter/features/statistics/chart_page/chart_page_controller.dart'; import 'package:school_data_hub_flutter/features/statistics/statistics_page/controller/statistics.dart'; import 'package:school_data_hub_flutter/features/statistics/statistics_page/list_tiles/enrollment_list_tiles.dart'; import 'package:school_data_hub_flutter/features/statistics/statistics_page/list_tiles/group_list_tiles.dart'; @@ -37,8 +38,22 @@ class StatisticsPage extends StatelessWidget { child: Column( children: [ const Gap(15), - const Row( - children: [Text('Schulzahlen', style: AppStyles.title)], + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text('Schulzahlen', style: AppStyles.title), + IconButton( + icon: const Icon(Icons.show_chart), + tooltip: 'Diagramm anzeigen', + onPressed: () { + Navigator.of(context).push( + MaterialPageRoute( + builder: (ctx) => const ChartPageController(), + ), + ); + }, + ), + ], ), const Gap(10), Expanded( diff --git a/school_data_hub_flutter/pubspec.lock b/school_data_hub_flutter/pubspec.lock index 9a6358f9..d390d6a0 100644 --- a/school_data_hub_flutter/pubspec.lock +++ b/school_data_hub_flutter/pubspec.lock @@ -249,6 +249,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.19.1" + community_charts_common: + dependency: transitive + description: + name: community_charts_common + sha256: d997ade57f15490346de46efbe23805d378a672aafbf5e47e19517964b671009 + url: "https://pub.dev" + source: hosted + version: "1.0.4" + community_charts_flutter: + dependency: "direct main" + description: + name: community_charts_flutter + sha256: "4614846b99782ab79b613687704865e5468ecada3f0ad1afe1cdc3ff5b727f72" + url: "https://pub.dev" + source: hosted + version: "1.0.4" connectivity_plus: dependency: transitive description: diff --git a/school_data_hub_flutter/pubspec.yaml b/school_data_hub_flutter/pubspec.yaml index 0b50b02e..5bfc6810 100644 --- a/school_data_hub_flutter/pubspec.yaml +++ b/school_data_hub_flutter/pubspec.yaml @@ -77,6 +77,7 @@ dependencies: flex_color_picker: ^3.7.1 msix: ^3.16.12 uml_for_serverpod: ^0.0.5 + community_charts_flutter: ^1.0.4 dev_dependencies: