Skip to content

Changes

Started by Mandvi
Started 13 days ago
Took 3 min 14 sec

Summary

  1. Add `statementId` to student grouping navigation routes and update associated ViewModels to track and pass xAPI statement identifiers. (commit: 30b418c) (details)
  2. Implement xAPI statement voiding when updating a student group in `StudentGroupingEditViewModel`. When editing an existing group, a voiding statement is sent for the old statement ID before posting the updated group information as a new statement. (commit: fe27bd6) (details)
  3. Remove debug logging from `ClazzDetailViewModel` and `StudentGroupingEditViewModel`. (commit: 30117f6) (details)
  4. Update `ClazzDetailViewModel`, `StudentGroupingDetailViewModel`, and `StudentGroupingEditViewModel` to filter out voided xAPI statements when retrieving groups. (commit: 11a551b) (details)
  5. Update `ClazzDetailViewModel`, `StudentGroupingDetailViewModel`, and `StudentGroupingEditViewModel` to filter out voided xAPI statements when retrieving groups. (commit: e2640a3) (details)
  6. Simplify xAPI statement retrieval by using timestamps to identify the latest group state and refactor `StudentGroupingDetailViewModel` to inject `NavResultReturner` via the constructor. (commit: 3bc78c6) (details)
  7. Refactor `ClazzDetailViewModel.kt` to improve code formatting and update enrollment removal logic to mark records as `TO_BE_DELETED` if they were created on the current day. (commit: 55392bf) (details)
  8. Clean up whitespace in `StudentGroupingDetailViewModel.kt`. (commit: 7089f57) (details)
  9. Implement xAPI group deletion and refine the student grouping data model. (commit: 5288f96) (details)
  10. Relocate the `isIdentified` property within `XapiGroup.kt` and remove trailing whitespace. (commit: 1c842b5) (details)
  11. Update `StudentGroupingDetailViewModel` and `StudentGroupingEditViewModel` to support direct xAPI statement lookups and explicit statement ID generation. (commit: c284dc3) (details)
  12. Refactor xAPI statement retrieval and fix database DAO inconsistencies. (commit: cdd5bc0) (details)
  13. Clean up code formatting and simplify comments. (commit: aca36a8) (details)
Commit 30b418c762d16bffc7a8c22afe51e2b582a2201c by mandvi.verma
Add `statementId` to student grouping navigation routes and update associated ViewModels to track and pass xAPI statement identifiers.

Specific changes:
* Add optional `statementId` parameter to the `StudentGroupingDetail` route.
* Update `ClazzDetailViewModel` to extract `statementId` from xAPI statements and pass it when navigating to group details.
* Update `StudentGroupingEditViewModel` to store the `statementId` from existing groups and include it in navigation commands.
* Include `statementId` in `GroupDisplayData` and UI states for better tracking of group-related xAPI statements.
* Add debug logging for group and statement identifiers across Clazz Detail, Student Grouping Detail, and Edit screens.
(commit: 30b418c)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt (diff)
Commit fe27bd6632e551978700e8d6748fe0b20d922778 by mandvi.verma
Implement xAPI statement voiding when updating a student group in `StudentGroupingEditViewModel`. When editing an existing group, a voiding statement is sent for the old statement ID before posting the updated group information as a new statement.
(commit: fe27bd6)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt (diff)
Commit 30117f6fdb41952aeee25aa4c969587ff77923b3 by mandvi.verma
Remove debug logging from `ClazzDetailViewModel` and `StudentGroupingEditViewModel`.
(commit: 30117f6)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt (diff)
Commit 11a551bd4e8d3d174fb8ad0c741a17645458553e by mandvi.verma
Update `ClazzDetailViewModel`, `StudentGroupingDetailViewModel`, and `StudentGroupingEditViewModel` to filter out voided xAPI statements when retrieving groups.
(commit: 11a551b)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt (diff)
Commit e2640a32498a18e7b559270b070601fbe44e8d98 by mandvi.verma
Update `ClazzDetailViewModel`, `StudentGroupingDetailViewModel`, and `StudentGroupingEditViewModel` to filter out voided xAPI statements when retrieving groups.
(commit: e2640a3)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt (diff)
Commit 3bc78c66189998462c4828aec18cb72266b2406c by mandvi.verma
Simplify xAPI statement retrieval by using timestamps to identify the latest group state and refactor `StudentGroupingDetailViewModel` to inject `NavResultReturner` via the constructor.
(commit: 3bc78c6)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt (diff)
Commit 55392bf9c408c8d50c9b1b326e58defaaf48fbb0 by mandvi.verma
Refactor `ClazzDetailViewModel.kt` to improve code formatting and update enrollment removal logic to mark records as `TO_BE_DELETED` if they were created on the current day.
(commit: 55392bf)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt (diff)
Commit 7089f572a2e4338cbf85a73e3f68ca418ffef78b by mandvi.verma
Clean up whitespace in `StudentGroupingDetailViewModel.kt`.
(commit: 7089f57)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt (diff)
Commit 5288f96e0bf0b655131f9b961f95396d0e7adad7 by mandvi.verma
Implement xAPI group deletion and refine the student grouping data model.

- Implement `onConfirmDeleteGroup` in `StudentGroupingDetailViewModel` using xAPI `VOIDED` statements.
- Update `StudentGroupingDetailUiState` to include the selected account and helper properties for person name and ID.
- Remove unused `metadata` field and related `GROUP_IDS` constant from the `Clazz` model and `ClassEntity` database schema.
- Fix a bug in `XapiStatementEntityDao` and `XapiStatementEntityJsonDao` where `statementVerbId` was incorrectly referenced as `statementVerbUid`.
- Clean up UI code in `StudentGroupingEditScreen` and `StudentGroupingDetailScreen`, including improved paging keys and formatting.
- Remove the unused `findGroupByAccountNameAsync` from `XapiActorDao`.
- Define `SAVED` and `VOIDED` display constants in `XapiVerb`.
(commit: 5288f96)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/detail/StudentGroupingDetailScreen.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.kt (diff)
The file was modifiedrespect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt (diff)
Commit 1c842b5af1e1e2f61121758243b8b6c49d791ef9 by mandvi.verma
Relocate the `isIdentified` property within `XapiGroup.kt` and remove trailing whitespace.
(commit: 1c842b5)
The file was modifiedrespect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt (diff)
Commit c284dc329e847b6f2a932ca1bb931e97d49b15a8 by mandvi.verma
Update `StudentGroupingDetailViewModel` and `StudentGroupingEditViewModel` to support direct xAPI statement lookups and explicit statement ID generation.

- Update `StudentGroupingDetailViewModel` to query xAPI statements by `statementId` if available in the route, falling back to verb and activity filters.
- Modify `StudentGroupingEditViewModel` to pre-generate a `Uuid` for new xAPI statements and pass it to the `StudentGroupingDetail` navigation route.
(commit: c284dc3)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt (diff)
Commit cdd5bc05dcafa8d489d1e27737e4006c20e8caab by mandvi.verma
Refactor xAPI statement retrieval and fix database DAO inconsistencies.

- Simplify `loadGroupDetail` in `StudentGroupingDetailViewModel` to query by verb and activity only, removing direct lookup by statement ID.
- Fix a bug in `XapiStatementEntityDao` and `XapiStatementEntityJsonDao` where `statementVerbId` was incorrectly used instead of `statementVerbUid`.
- Clean up indentation and code formatting in `StudentGroupingEditViewModel`.
- In `StudentGroupingEditViewModel`, remove manual statement ID generation and rely on the model-generated ID for navigation.
- Remove unused `Uuid` import in `StudentGroupingDetailViewModel`.
(commit: cdd5bc0)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt (diff)
Commit aca36a84f1ecfd5ff2c8fea402a3cf24e2120013 by mandvi.verma
Clean up code formatting and simplify comments.

- Remove unnecessary empty line in `StudentGroupingDetailScreen.kt`.
- Simplify the comment explaining the xAPI statement sorting logic in `ClazzDetailViewModel.kt`.
(commit: aca36a8)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/detail/StudentGroupingDetailScreen.kt (diff)