@@ -276,28 +276,34 @@ public function findAllArchivedForStacks(array $stackIds): array {
276276 return $ cards ;
277277 }
278278
279- public function findAllByStack (int $ stackId , ?int $ limit = null , ?int $ offset = null ): array {
279+ public function findAllByStack (int $ stackId , ?int $ limit = null , ?int $ offset = null , bool $ includeDeleted = false ): array {
280280 $ qb = $ this ->db ->getQueryBuilder ();
281281 $ qb ->select ('* ' )
282282 ->from ('deck_cards ' )
283283 ->where ($ qb ->expr ()->eq ('stack_id ' , $ qb ->createNamedParameter ($ stackId , IQueryBuilder::PARAM_INT )))
284- ->andWhere ($ qb ->expr ()->eq ('archived ' , $ qb ->createNamedParameter (false , IQueryBuilder::PARAM_BOOL )))
285- ->setMaxResults ($ limit )
284+ ->andWhere ($ qb ->expr ()->eq ('archived ' , $ qb ->createNamedParameter (false , IQueryBuilder::PARAM_BOOL )));
285+ if (!$ includeDeleted ) {
286+ $ qb ->andWhere ($ qb ->expr ()->eq ('deleted_at ' , $ qb ->createNamedParameter (0 , IQueryBuilder::PARAM_INT )));
287+ }
288+ $ qb ->setMaxResults ($ limit )
286289 ->setFirstResult ($ offset )
287290 ->orderBy ('order ' )
288291 ->addOrderBy ('id ' );
289292 return $ this ->findEntities ($ qb );
290293 }
291294
292- public function findAllByBoardId (int $ boardId , ?int $ limit = null , ?int $ offset = null ): array {
295+ public function findAllByBoardId (int $ boardId , ?int $ limit = null , ?int $ offset = null , bool $ includeDeleted = false ): array {
293296 $ qb = $ this ->db ->getQueryBuilder ();
294297 $ qb ->select ('c.* ' )
295298 ->from ('deck_cards ' , 'c ' )
296299 ->innerJoin ('c ' , 'deck_stacks ' , 's ' , 's.id = c.stack_id ' )
297300 ->innerJoin ('s ' , 'deck_boards ' , 'b ' , 'b.id = s.board_id ' )
298301 ->where ($ qb ->expr ()->eq ('board_id ' , $ qb ->createNamedParameter ($ boardId , IQueryBuilder::PARAM_INT )))
299- ->andWhere ($ qb ->expr ()->eq ('archived ' , $ qb ->createNamedParameter (false , IQueryBuilder::PARAM_BOOL )))
300- ->setMaxResults ($ limit )
302+ ->andWhere ($ qb ->expr ()->eq ('archived ' , $ qb ->createNamedParameter (false , IQueryBuilder::PARAM_BOOL )));
303+ if (!$ includeDeleted ) {
304+ $ qb ->andWhere ($ qb ->expr ()->eq ('c.deleted_at ' , $ qb ->createNamedParameter (0 , IQueryBuilder::PARAM_INT )));
305+ }
306+ $ qb ->setMaxResults ($ limit )
301307 ->setFirstResult ($ offset )
302308 ->orderBy ('c.lastmodified ' )
303309 ->addOrderBy ('c.id ' );
0 commit comments