security: enforce access control on CalendarSync and ContactsSync (Closes #170) #188
Reference in New Issue
Block a user
Delete Branch "feature/issue-170-calendar-contacts-sync-api"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
PermissionServiceandIUserSessiontoCalendarSyncServiceandContactsSyncServiceto enforce write-level access controlsyncMember,fullSync,deleteEvent/deleteContact) now check permissions before proceedingContactsSyncServicenow integrates withOCP\Contacts\IManager::createOrUpdate()for native Nextcloud contacts, falling back to the staging table when the Contacts app is not availableCalendarSyncServiceretains the staging table becauseOCP\Calendar\IManagerdoes not provide write methods in Nextcloud 28Test plan
CalendarSyncServiceTestwith new constructor dependenciesContactsSyncServiceTestwith new constructor dependencies + IContactsManager mockCloses #170