Skip to content

Changes

Started by timer
Started 1 mo 12 days ago
Took 15 min

Summary

  1. Add permission management: work in progress. (details)
  2. Add SchoolPermissionGrantDataSource implementations. (details)
  3. Initial implementation of using CheckPersonPermissionUseCase (details)
  4. Fixes for PersonRepositoryIntegrationTest.kt (one test remaining) (details)
  5. Permission enforcement work in progress (details)
  6. Fix compilation after merging main updates. (details)
  7. Add CLassPermission to model and datasources. (details)
  8. Update RespectAccountManager to use a shared hot flow to prevent lag. (details)
  9. Enforce class view permissions including support for enrollment role-based permissions. (details)
  10. Enforce class write permission. (details)
  11. Merge session changes from main. (details)
  12. Initial implementation of read person permission checks. (details)
  13. Handle permissions for parents based on class permissions of children. (details)
  14. Add permission enforcement/checks to enrollment entities. (details)
  15. Fix ClassPermissionEntity to use autoincrement primary key (details)
  16. Update CheckPersonPermissionUseCase: can be used before person is saved to db or after saved to db without needing to lookup role. (details)
  17. Fix person entity list permission check to include viewing related persons for the authenticated user. (details)
  18. Update SQL to enforce password entity permissions (details)
  19. Remove unused PersonPasskeyEntityDao functions. (details)
  20. Update PersonDataSourceDb to follow same function name pattern as other DAOs and split store/updateLocal (details)
  21. Update class permission queries to include permissions for parents to see child's classes. (details)
  22. Add CheckSchoolPermissionsUseCase and use it in PersonList and ClassList to control the visibility of add button. (details)
  23. Implement pulling enrollment entities using a worker. (details)
  24. Add sinceIfPermissionsNotChangedSince parameter support. (details)
  25. Refactor assignment to link one assignment to one class. (details)
  26. Initial permission check for assignment read. (details)
  27. Run pull sync fixes: (details)
  28. Update SignupViewModel: remove unnecessary scope.launc that should not be there. (details)
  29. Add debugging logs to SignupViewModel. (details)
  30. Add more debugging logs to SignupViewModel. (details)
  31. Remove hello world maestro flow (details)
  32. Add retryTapIfNoChange to 001_001. (details)
  33. Remove action bar id parameter from 001_001 (details)
  34. Add repeat loop workaround for waiting Maestro cloud error. (details)
  35. Another attempt for 001_001 maestro workaround. (details)
  36. fix assignmentedit (details)
  37. removed 000 test (details)
  38. update learningunitDetailscreen (details)
Commit fb4cdd11f1d6441233f2531f788c52eb88a3e0b1 by Mike Dawson
Add permission management: work in progress.
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt (diff)
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt (diff)
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt (diff)
The file was addedAGENTS.md
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt (diff)
The file was addedrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.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/PersonDataSourceDb.kt (diff)
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt
The file was addedrespect-datalayer-db/AGENTS.md
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/AssignmentDatasourceDb.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLoadState.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt (diff)
The file was removedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonExt.kt
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt
The file was addedrespect-datalayer/AGENTS.md
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt (diff)
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt (diff)
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt (diff)
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt
The file was modifiedrespect-datalayer/build.gradle.kts (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt (diff)
Commit d63a784ce84ad38f86491b031d6bad9bdf187dd5 by Mike Dawson
Add SchoolPermissionGrantDataSource implementations.
The file was modifiedrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt (diff)
The file was addedrespect-datalayer-http/AGENTS.md
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt (diff)
The file was modifiedrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer/AGENTS.md (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt (diff)
The file was addedrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt
The file was addedrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt
The file was modifiedrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt (diff)
The file was addedrespect-datalayer-repository/AGENTS.md
Commit d087ad04fa1983803a659a5cee2339fce1be58e5 by Mike Dawson
Initial implementation of using CheckPersonPermissionUseCase
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt (diff)
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt
The file was modifiedrespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt (diff)
The file was modifiedrespect-server/src/main/kotlin/world/respect/server/Application.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt (diff)
The file was modifiedrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt (diff)
The file was addedrespect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt
The file was addedrespect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt (diff)
The file was addedrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt
The file was modifiedrespect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt (diff)
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt
Commit ae01d219481d0814d5c5e323cee98ad0aea3e4ab by Mike Dawson
Fixes for PersonRepositoryIntegrationTest.kt (one test remaining)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt (diff)
The file was modifiedrespect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt (diff)
Commit 6869dd8e50b4394a92548905d11560e18966dafc by Mike Dawson
Permission enforcement work in progress

a) throw ForbiddenException / return status code 403 if a request for a person is made that the user is not authorized to see. Marking the response as forbidden, rather than returning an empty json allows fail2ban/throttling implementation when someone is up to no good.
b) Fix usage of add default grants in add school use case.
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt (diff)
The file was modifiedrespect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt (diff)
The file was modifiedrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt (diff)
The file was modifiedrespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt (diff)
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt
Commit bc306635b7538babc81b849bbdf473d47a802f9b by Mike Dawson
Fix compilation after merging main updates.
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json (diff)
The file was modifiedrespect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt (diff)
The file was modifiedrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt (diff)
Commit a15f134552b8149b5d6d43b156454a15d6f1351f by Mike Dawson
Add CLassPermission to model and datasources.
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt
The file was addedrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt (diff)
The file was modifiedrespect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt (diff)
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt
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/daos/ClassEntityDao.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt (diff)
The file was modifiedrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt (diff)
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt
Commit cc7ef41804c7789e5490b90873e49f2a85046e40 by Mike Dawson
Update RespectAccountManager to use a shared hot flow to prevent lag.
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt (diff)
Commit 1834bca60da831c327c95e30c4eba74544daf259 by Mike Dawson
Enforce class view permissions including support for enrollment role-based permissions.
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt (diff)
The file was modifiedrespect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt (diff)
Commit c2aadbfda36308b406464f90d050fa95e775c294 by Mike Dawson
Enforce class write permission.
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt (diff)
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt (diff)
Commit ab1f830df858d5a9367b4500fdb738adcc22d711 by Mike Dawson
Merge session changes from main.
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt (diff)
Commit 517121263286883aee09ecd77b95e570980cc5fb by Mike Dawson
Initial implementation of read person permission checks.
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt (diff)
Commit 87132ca9c0b370017c9c8fea4ce97753b477161c by Mike Dawson
Handle permissions for parents based on class permissions of children.
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt (diff)
Commit e49f7dd1f03c83732a47062c9b31bc4c18837b2e by Mike Dawson
Add permission enforcement/checks to enrollment entities.
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt (diff)
Commit 0e6dd7db5e356d4ee99e8669bc7809eef38ba359 by Mike Dawson
Fix ClassPermissionEntity to use autoincrement primary key
Update PersonDataSource permission checks to add a CTE to get the permission personuid list (active user plus any children personuids in the case of a parent user).
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt (diff)
The file was modifiedrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt (diff)
Commit 8e1628f9325ca674d471b5c23fcc5391ba7f15cb by Mike Dawson
Update CheckPersonPermissionUseCase: can be used before person is saved to db or after saved to db without needing to lookup role.
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt (diff)
The file was modifiedrespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt (diff)
Commit 2ae2abfd160d041c9ab2d362775b8e0043f90180 by Mike Dawson
Fix person entity list permission check to include viewing related persons for the authenticated user.
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt (diff)
Commit 63f5ea635a01235f174d8e760dcadc8c30425589 by Mike Dawson
Update SQL to enforce password entity permissions
The file was modifiedrespect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt (diff)
Commit a2a843193719003af2e543ad2c191dda17806def by Mike Dawson
Remove unused PersonPasskeyEntityDao functions.
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/PersonPasskeyEntityDao.kt (diff)
Commit f024121520d5998e74f73092cca2d9064ac1fbf6 by Mike Dawson
Update PersonDataSourceDb to follow same function name pattern as other DAOs and split store/updateLocal
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt (diff)
Commit b5d3d5ccb23cd53f30c116ce775afb033c33b034 by Mike Dawson
Update class permission queries to include permissions for parents to see child's classes.
Update use of select AuthenticatedPermissionPersonUids to use constant.
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt (diff)
Commit 417df627dae1a87979c76f7cf53bdf84c2b70d29 by Mike Dawson
Add CheckSchoolPermissionsUseCase and use it in PersonList and ClassList to control the visibility of add button.
Update junit tests to handle permissions
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt (diff)
The file was modifiedrespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt (diff)
The file was modifiedrespect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt (diff)
The file was modifiedrespect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt (diff)
The file was modifiedrespect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt (diff)
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt (diff)
The file was addedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt
The file was modifiedrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt (diff)
The file was modifiedrespect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt (diff)
Commit e08156910ebb699221cc9ebc660c9c728879bb6d by Mike Dawson
Implement pulling enrollment entities using a worker.

Required to ensure permissions are resolved as expected.
The file was modifiedrespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt (diff)
The file was addedrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DataLoadStateExt.kt (diff)
The file was modifiedrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json (diff)
The file was modifiedrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt (diff)
The file was modifiedrespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt (diff)
The file was addedrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt (diff)
The file was addedrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt (diff)
The file was modifiedrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLoadMetaInfo.kt (diff)
The file was addedrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/PullSyncTracker.kt
The file was addedrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt
The file was addedrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt (diff)
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt (diff)
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt (diff)
The file was modifiedrespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt (diff)
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt (diff)
The file was modifiedrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt (diff)
The file was modifiedrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt (diff)
The file was addedrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json
The file was modifiedrespect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt (diff)
Commit 75fc244fba28cda004d8274bd698f53cf9761e31 by Mike Dawson
Add sinceIfPermissionsNotChangedSince parameter support.

Used to ensure that when permissions change (eg. as a result of a person joining a class) that the user does not miss out on updates being retrieved via pull sync runs.
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt (diff)
The file was addedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt (diff)
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerHeaders.kt (diff)
The file was modifiedrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerParams.kt (diff)
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt (diff)
The file was modifiedrespect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt (diff)
The file was modifiedrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt (diff)
The file was removedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/PullSyncTracker.kt
The file was modifiedrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLoadMetaInfo.kt (diff)
The file was modifiedrespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt (diff)
The file was modifiedrespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt (diff)
The file was addedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt (diff)
The file was modifiedrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json (diff)
The file was modifiedrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt (diff)
Commit bddb16ab6a058c879b320758a100a856d8296176 by Mike Dawson
Refactor assignment to link one assignment to one class.
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentEntity.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/AssignmentDatasourceDb.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Assignment.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AssignmentAdapter.kt (diff)
The file was modifiedrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json (diff)
The file was removedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRef.kt
The file was removedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentAssigneeRefEntityDao.kt
Commit 729a6eaf049d5d8ef25eb567613d23b4ee963184 by Mike Dawson
Initial permission check for assignment read.
The file was removedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentAssigneeRefEntity.kt
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentEntityDao.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/AssignmentDatasourceDb.kt (diff)
Commit 9036fcffa2b121cab5d6ba66660b96661e8785ce by Mike Dawson
Run pull sync fixes:

a) Handle not-modified http response status
b) Ensure not-modified http dataloadstate preserves metadata
c) Update ClazzViewModel to use only enqueue run pull sync to update enrollments.
The file was modifiedrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt (diff)
The file was modifiedrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt (diff)
The file was modifiedrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt (diff)
The file was modifiedrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.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/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt (diff)
The file was modified.maestro/flows/001_001_invite_using_invite_code_test.yaml (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLoadState.kt (diff)
The file was modifiedrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DataLoadStateExt.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt (diff)
The file was modifiedrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt (diff)
Commit b7e0f98a0418c132f169f6e245a7ecc96de2ec31 by Mike Dawson
Update SignupViewModel: remove unnecessary scope.launc that should not be there.
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseDataSource.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt (diff)
Commit 67c2d84be6085b3af5016c63ef358f741bc375f4 by Mike Dawson
Add debugging logs to SignupViewModel.
Remove signupviewmodel async launch functions setting app uistate that was not necessary.
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt (diff)
Commit fdb330302942df56686f26d34554ec40158a02dd by Mike Dawson
Add more debugging logs to SignupViewModel.
Fix ProfileType enum to use serialization as per pattern (using a string constant) to avoid potential discrepency between minified and non minified versions.
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/manageuser/profile/ProfileType.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt (diff)
Commit b7676667f0a9cf5bd27160cfb25a08e236734121 by Mike Dawson
Remove hello world maestro flow
Tweak 001_001 to try and avoid maestro flakey tap
The file was modified.maestro/flows/001_001_invite_using_invite_code_test.yaml (diff)
The file was removed.maestro/flows/000_000_hello_world.yaml
Commit 1984e6061772b1f7ee97c21753e3852c7b84b8e4 by Mike Dawson
Add retryTapIfNoChange to 001_001.
The file was modified.maestro/flows/001_001_invite_using_invite_code_test.yaml (diff)
Commit e0d6182b066450057da81bbd834f21746f729626 by Mike Dawson
Remove action bar id parameter from 001_001
The file was modified.maestro/flows/001_001_invite_using_invite_code_test.yaml (diff)
Commit 45071e76474e3dccbea467bb5da8fb19db44369f by Mike Dawson
Add repeat loop workaround for waiting Maestro cloud error.
The file was added.maestro/flows/subflows/tap_done_again.yaml
The file was modified.maestro/flows/001_001_invite_using_invite_code_test.yaml (diff)
Commit 73c7dc12bb5b15ea41adc790e939f933c63749de by Mike Dawson
Another attempt for 001_001 maestro workaround.
The file was modified.maestro/flows/001_001_invite_using_invite_code_test.yaml (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt (diff)
The file was removed.maestro/flows/000_000_hello_world.yaml
Commit d6b4fd9471bb7273a14e323903faa4faa1b8016c by lipsa.behera
update learningunitDetailscreen
The file was modifiedrespect-lib-shared/src/commonMain/composeResources/values/strings.xml (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt (diff)