1414use OCA \Deck \Db \StackMapper ;
1515use OCA \Deck \InvalidAttachmentType ;
1616use OCA \Deck \Service \AttachmentService ;
17+ use OCA \Deck \Sharing \DeckShareProvider ;
1718use OCP \AppFramework \Utility \ITimeFactory ;
1819use OCP \BackgroundJob \IJob ;
1920use OCP \BackgroundJob \TimedJob ;
@@ -30,14 +31,25 @@ class DeleteCron extends TimedJob {
3031 private $ attachmentMapper ;
3132 /** @var StackMapper */
3233 private $ stackMapper ;
34+ /** @var DeckShareProvider */
35+ private $ deckShareProvider ;
3336
34- public function __construct (ITimeFactory $ time , BoardMapper $ boardMapper , CardMapper $ cardMapper , AttachmentService $ attachmentService , AttachmentMapper $ attachmentMapper , StackMapper $ stackMapper ) {
37+ public function __construct (
38+ ITimeFactory $ time ,
39+ BoardMapper $ boardMapper ,
40+ CardMapper $ cardMapper ,
41+ AttachmentService $ attachmentService ,
42+ AttachmentMapper $ attachmentMapper ,
43+ StackMapper $ stackMapper ,
44+ DeckShareProvider $ deckShareProvider ,
45+ ) {
3546 parent ::__construct ($ time );
3647 $ this ->boardMapper = $ boardMapper ;
3748 $ this ->cardMapper = $ cardMapper ;
3849 $ this ->attachmentService = $ attachmentService ;
3950 $ this ->attachmentMapper = $ attachmentMapper ;
4051 $ this ->stackMapper = $ stackMapper ;
52+ $ this ->deckShareProvider = $ deckShareProvider ;
4153
4254 $ this ->setInterval (60 * 60 * 24 );
4355 $ this ->setTimeSensitivity (IJob::TIME_INSENSITIVE );
@@ -70,6 +82,12 @@ protected function run($argument) {
7082 $ this ->attachmentMapper ->delete ($ attachment );
7183 }
7284
85+ // Delete orphaned attachment shares
86+ $ shares = $ this ->deckShareProvider ->getOrphanedAttachmentShares ();
87+ foreach ($ shares as $ share ) {
88+ $ this ->deckShareProvider ->delete ($ share );
89+ }
90+
7391 $ stacks = $ this ->stackMapper ->findToDelete ();
7492 foreach ($ stacks as $ stack ) {
7593 $ this ->stackMapper ->delete ($ stack );
0 commit comments