Skip to content

Commit bcb2c50

Browse files
nickvergessenedward-ly
authored andcommitted
fix(caldav): Restore old private events and deprecate them
Signed-off-by: Joas Schilling <coding@schilljs.com>
1 parent 5f15089 commit bcb2c50

9 files changed

+474
-0
lines changed

apps/dav/composer/composer/autoload_classmap.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,12 @@
255255
'OCA\\DAV\\Events\\CalendarCreatedEvent' => $baseDir . '/../lib/Events/CalendarCreatedEvent.php',
256256
'OCA\\DAV\\Events\\CalendarDeletedEvent' => $baseDir . '/../lib/Events/CalendarDeletedEvent.php',
257257
'OCA\\DAV\\Events\\CalendarMovedToTrashEvent' => $baseDir . '/../lib/Events/CalendarMovedToTrashEvent.php',
258+
'OCA\\DAV\\Events\\CalendarObjectCreatedEvent' => $baseDir . '/../lib/Events/CalendarObjectCreatedEvent.php',
259+
'OCA\\DAV\\Events\\CalendarObjectDeletedEvent' => $baseDir . '/../lib/Events/CalendarObjectDeletedEvent.php',
260+
'OCA\\DAV\\Events\\CalendarObjectMovedEvent' => $baseDir . '/../lib/Events/CalendarObjectMovedEvent.php',
261+
'OCA\\DAV\\Events\\CalendarObjectMovedToTrashEvent' => $baseDir . '/../lib/Events/CalendarObjectMovedToTrashEvent.php',
262+
'OCA\\DAV\\Events\\CalendarObjectRestoredEvent' => $baseDir . '/../lib/Events/CalendarObjectRestoredEvent.php',
263+
'OCA\\DAV\\Events\\CalendarObjectUpdatedEvent' => $baseDir . '/../lib/Events/CalendarObjectUpdatedEvent.php',
258264
'OCA\\DAV\\Events\\CalendarPublishedEvent' => $baseDir . '/../lib/Events/CalendarPublishedEvent.php',
259265
'OCA\\DAV\\Events\\CalendarRestoredEvent' => $baseDir . '/../lib/Events/CalendarRestoredEvent.php',
260266
'OCA\\DAV\\Events\\CalendarShareUpdatedEvent' => $baseDir . '/../lib/Events/CalendarShareUpdatedEvent.php',

apps/dav/composer/composer/autoload_static.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,12 @@ class ComposerStaticInitDAV
270270
'OCA\\DAV\\Events\\CalendarCreatedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarCreatedEvent.php',
271271
'OCA\\DAV\\Events\\CalendarDeletedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarDeletedEvent.php',
272272
'OCA\\DAV\\Events\\CalendarMovedToTrashEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarMovedToTrashEvent.php',
273+
'OCA\\DAV\\Events\\CalendarObjectCreatedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectCreatedEvent.php',
274+
'OCA\\DAV\\Events\\CalendarObjectDeletedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectDeletedEvent.php',
275+
'OCA\\DAV\\Events\\CalendarObjectMovedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectMovedEvent.php',
276+
'OCA\\DAV\\Events\\CalendarObjectMovedToTrashEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectMovedToTrashEvent.php',
277+
'OCA\\DAV\\Events\\CalendarObjectRestoredEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectRestoredEvent.php',
278+
'OCA\\DAV\\Events\\CalendarObjectUpdatedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectUpdatedEvent.php',
273279
'OCA\\DAV\\Events\\CalendarPublishedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarPublishedEvent.php',
274280
'OCA\\DAV\\Events\\CalendarRestoredEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarRestoredEvent.php',
275281
'OCA\\DAV\\Events\\CalendarShareUpdatedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarShareUpdatedEvent.php',

apps/dav/lib/CalDAV/CalDavBackend.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@
1919
use OCA\DAV\Events\CalendarCreatedEvent;
2020
use OCA\DAV\Events\CalendarDeletedEvent;
2121
use OCA\DAV\Events\CalendarMovedToTrashEvent;
22+
use OCA\DAV\Events\CalendarObjectCreatedEvent as LegacyCalendarObjectCreatedEvent;
23+
use OCA\DAV\Events\CalendarObjectDeletedEvent as LegacyCalendarObjectDeletedEvent;
24+
use OCA\DAV\Events\CalendarObjectMovedEvent as LegacyCalendarObjectMovedEvent;
25+
use OCA\DAV\Events\CalendarObjectMovedToTrashEvent as LegacyCalendarObjectMovedToTrashEvent;
26+
use OCA\DAV\Events\CalendarObjectRestoredEvent as LegacyCalendarObjectRestoredEvent;
27+
use OCA\DAV\Events\CalendarObjectUpdatedEvent as LegacyCalendarObjectUpdatedEvent;
2228
use OCA\DAV\Events\CalendarPublishedEvent;
2329
use OCA\DAV\Events\CalendarRestoredEvent;
2430
use OCA\DAV\Events\CalendarShareUpdatedEvent;
@@ -1318,6 +1324,7 @@ public function createCalendarObject($calendarId, $objectUri, $calendarData, $ca
13181324
$shares = $this->getShares($calendarId);
13191325

13201326
$this->dispatcher->dispatchTyped(new CalendarObjectCreatedEvent($calendarId, $calendarRow, $shares, $objectRow));
1327+
$this->dispatcher->dispatchTyped(new LegacyCalendarObjectCreatedEvent($calendarId, $calendarRow, $shares, $objectRow));
13211328
} else {
13221329
$subscriptionRow = $this->getSubscriptionById($calendarId);
13231330

@@ -1378,6 +1385,7 @@ public function updateCalendarObject($calendarId, $objectUri, $calendarData, $ca
13781385
$shares = $this->getShares($calendarId);
13791386

13801387
$this->dispatcher->dispatchTyped(new CalendarObjectUpdatedEvent($calendarId, $calendarRow, $shares, $objectRow));
1388+
$this->dispatcher->dispatchTyped(new LegacyCalendarObjectUpdatedEvent($calendarId, $calendarRow, $shares, $objectRow));
13811389
} else {
13821390
$subscriptionRow = $this->getSubscriptionById($calendarId);
13831391

@@ -1439,6 +1447,7 @@ public function moveCalendarObject(int $sourceCalendarId, int $targetCalendarId,
14391447
$targetShares = $this->getShares($targetCalendarId);
14401448
$sourceCalendarRow = $this->getCalendarById($sourceCalendarId);
14411449
$this->dispatcher->dispatchTyped(new CalendarObjectMovedEvent($sourceCalendarId, $sourceCalendarRow, $targetCalendarId, $targetCalendarRow, $sourceShares, $targetShares, $object));
1450+
$this->dispatcher->dispatchTyped(new LegacyCalendarObjectMovedEvent($sourceCalendarId, $sourceCalendarRow, $targetCalendarId, $targetCalendarRow, $sourceShares, $targetShares, $object));
14421451
}
14431452
return true;
14441453
}, $this->db);
@@ -1497,6 +1506,7 @@ public function deleteCalendarObject($calendarId, $objectUri, $calendarType = se
14971506
$shares = $this->getShares($calendarId);
14981507

14991508
$this->dispatcher->dispatchTyped(new CalendarObjectDeletedEvent($calendarId, $calendarRow, $shares, $data));
1509+
$this->dispatcher->dispatchTyped(new LegacyCalendarObjectDeletedEvent($calendarId, $calendarRow, $shares, $data));
15001510
} else {
15011511
$subscriptionRow = $this->getSubscriptionById($calendarId);
15021512

@@ -1546,6 +1556,14 @@ public function deleteCalendarObject($calendarId, $objectUri, $calendarType = se
15461556
$data
15471557
)
15481558
);
1559+
$this->dispatcher->dispatchTyped(
1560+
new LegacyCalendarObjectMovedToTrashEvent(
1561+
$calendarId,
1562+
$calendarData,
1563+
$this->getShares($calendarId),
1564+
$data
1565+
)
1566+
);
15491567
}
15501568
}
15511569

@@ -1605,6 +1623,14 @@ public function restoreCalendarObject(array $objectData): void {
16051623
$row
16061624
)
16071625
);
1626+
$this->dispatcher->dispatchTyped(
1627+
new LegacyCalendarObjectRestoredEvent(
1628+
(int)$objectData['calendarid'],
1629+
$calendarRow,
1630+
$this->getShares((int)$row['calendarid']),
1631+
$row
1632+
)
1633+
);
16081634
}, $this->db);
16091635
}
16101636

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/**
6+
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
7+
* SPDX-License-Identifier: AGPL-3.0-or-later
8+
*/
9+
namespace OCA\DAV\Events;
10+
11+
use OCP\EventDispatcher\Event;
12+
13+
/**
14+
* Class CalendarObjectCreatedEvent
15+
*
16+
* @package OCA\DAV\Events
17+
* @since 20.0.0
18+
* @deprecated 31.0.2 Use {@see \OCP\Calendar\Events\CalendarObjectCreatedEvent} instead
19+
*/
20+
class CalendarObjectCreatedEvent extends Event {
21+
22+
/**
23+
* CalendarObjectCreatedEvent constructor.
24+
*
25+
* @param int $calendarId
26+
* @param array $calendarData
27+
* @param array $shares
28+
* @param array $objectData
29+
* @since 20.0.0
30+
*/
31+
public function __construct(
32+
private int $calendarId,
33+
private array $calendarData,
34+
private array $shares,
35+
private array $objectData,
36+
) {
37+
parent::__construct();
38+
}
39+
40+
/**
41+
* @return int
42+
* @since 20.0.0
43+
*/
44+
public function getCalendarId(): int {
45+
return $this->calendarId;
46+
}
47+
48+
/**
49+
* @return array
50+
* @since 20.0.0
51+
*/
52+
public function getCalendarData(): array {
53+
return $this->calendarData;
54+
}
55+
56+
/**
57+
* @return array
58+
* @since 20.0.0
59+
*/
60+
public function getShares(): array {
61+
return $this->shares;
62+
}
63+
64+
/**
65+
* @return array
66+
* @since 20.0.0
67+
*/
68+
public function getObjectData(): array {
69+
return $this->objectData;
70+
}
71+
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/**
6+
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
7+
* SPDX-License-Identifier: AGPL-3.0-or-later
8+
*/
9+
namespace OCA\DAV\Events;
10+
11+
use OCP\EventDispatcher\Event;
12+
13+
/**
14+
* Class CalendarObjectDeletedEvent
15+
*
16+
* @package OCA\DAV\Events
17+
* @since 20.0.0
18+
* @deprecated 31.0.2 Use {@see \OCP\Calendar\Events\CalendarObjectDeletedEvent} instead
19+
*/
20+
class CalendarObjectDeletedEvent extends Event {
21+
22+
/**
23+
* CalendarObjectDeletedEvent constructor.
24+
*
25+
* @param int $calendarId
26+
* @param array $calendarData
27+
* @param array $shares
28+
* @param array $objectData
29+
* @since 20.0.0
30+
*/
31+
public function __construct(
32+
private int $calendarId,
33+
private array $calendarData,
34+
private array $shares,
35+
private array $objectData,
36+
) {
37+
parent::__construct();
38+
}
39+
40+
/**
41+
* @return int
42+
* @since 20.0.0
43+
*/
44+
public function getCalendarId(): int {
45+
return $this->calendarId;
46+
}
47+
48+
/**
49+
* @return array
50+
* @since 20.0.0
51+
*/
52+
public function getCalendarData(): array {
53+
return $this->calendarData;
54+
}
55+
56+
/**
57+
* @return array
58+
* @since 20.0.0
59+
*/
60+
public function getShares(): array {
61+
return $this->shares;
62+
}
63+
64+
/**
65+
* @return array
66+
* @since 20.0.0
67+
*/
68+
public function getObjectData(): array {
69+
return $this->objectData;
70+
}
71+
}
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/**
6+
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
7+
* SPDX-License-Identifier: AGPL-3.0-or-later
8+
*/
9+
namespace OCA\DAV\Events;
10+
11+
use OCP\EventDispatcher\Event;
12+
13+
/**
14+
* Class CalendarObjectMovedEvent
15+
*
16+
* @package OCA\DAV\Events
17+
* @since 25.0.0
18+
* @deprecated 31.0.2 Use {@see \OCP\Calendar\Events\CalendarObjectMovedEvent} instead
19+
*/
20+
class CalendarObjectMovedEvent extends Event {
21+
/**
22+
* @since 25.0.0
23+
*/
24+
public function __construct(
25+
private int $sourceCalendarId,
26+
private array $sourceCalendarData,
27+
private int $targetCalendarId,
28+
private array $targetCalendarData,
29+
private array $sourceShares,
30+
private array $targetShares,
31+
private array $objectData,
32+
) {
33+
parent::__construct();
34+
}
35+
36+
/**
37+
* @return int
38+
* @since 25.0.0
39+
*/
40+
public function getSourceCalendarId(): int {
41+
return $this->sourceCalendarId;
42+
}
43+
44+
/**
45+
* @return array
46+
* @since 25.0.0
47+
*/
48+
public function getSourceCalendarData(): array {
49+
return $this->sourceCalendarData;
50+
}
51+
52+
/**
53+
* @return int
54+
* @since 25.0.0
55+
*/
56+
public function getTargetCalendarId(): int {
57+
return $this->targetCalendarId;
58+
}
59+
60+
/**
61+
* @return array
62+
* @since 25.0.0
63+
*/
64+
public function getTargetCalendarData(): array {
65+
return $this->targetCalendarData;
66+
}
67+
68+
/**
69+
* @return array
70+
* @since 25.0.0
71+
*/
72+
public function getSourceShares(): array {
73+
return $this->sourceShares;
74+
}
75+
76+
/**
77+
* @return array
78+
* @since 25.0.0
79+
*/
80+
public function getTargetShares(): array {
81+
return $this->targetShares;
82+
}
83+
84+
/**
85+
* @return array
86+
* @since 25.0.0
87+
*/
88+
public function getObjectData(): array {
89+
return $this->objectData;
90+
}
91+
}

0 commit comments

Comments
 (0)