Skip to content

Commit 43d3c31

Browse files
fixup! feat: Calendar Import
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
1 parent 04c5b01 commit 43d3c31

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

apps/dav/lib/CalDAV/CalDavBackend.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2424,14 +2424,19 @@ public function searchPrincipalUri(string $principalUri,
24242424
* @param string $uid
24252425
* @return string|null
24262426
*/
2427-
public function getCalendarObjectByUID($principalUri, $uid) {
2427+
public function getCalendarObjectByUID($principalUri, $uid, $calendarUri = null) {
24282428
$query = $this->db->getQueryBuilder();
24292429
$query->selectAlias('c.uri', 'calendaruri')->selectAlias('co.uri', 'objecturi')
24302430
->from('calendarobjects', 'co')
24312431
->leftJoin('co', 'calendars', 'c', $query->expr()->eq('co.calendarid', 'c.id'))
24322432
->where($query->expr()->eq('c.principaluri', $query->createNamedParameter($principalUri)))
24332433
->andWhere($query->expr()->eq('co.uid', $query->createNamedParameter($uid)))
24342434
->andWhere($query->expr()->isNull('co.deleted_at'));
2435+
2436+
if ($calendarUri !== null) {
2437+
$query->andWhere($query->expr()->eq('c.uri', $query->createNamedParameter($calendarUri)));
2438+
}
2439+
24352440
$stmt = $query->executeQuery();
24362441
$row = $stmt->fetch();
24372442
$stmt->closeCursor();

apps/dav/lib/CalDAV/Import/ImportService.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ private function findTimeZones(VCalendar $vObject): array {
219219
*/
220220
public function importProcess(CalendarImpl $calendar, CalendarImportOptions $options, callable $generator): array {
221221
$calendarId = $calendar->getKey();
222+
$calendarUri = $calendar->getUri();
222223
$principalUri = $calendar->getPrincipalUri();
223224
$outcome = [];
224225
foreach ($generator() as $vObject) {
@@ -269,7 +270,7 @@ public function importProcess(CalendarImpl $calendar, CalendarImportOptions $opt
269270
}
270271
}
271272
// create or update object in the data store
272-
$objectId = $this->backend->getCalendarObjectByUID($principalUri, $uid);
273+
$objectId = $this->backend->getCalendarObjectByUID($principalUri, $uid, $calendarUri);
273274
$objectData = $vObject->serialize();
274275
try {
275276
if ($objectId === null) {

0 commit comments

Comments
 (0)