@@ -112,27 +112,27 @@ public void notifyWatchlist(@NonNull NotificationEntity notification, @NonNull U
112112 }
113113
114114 public void notifyRequirementAdded (@ NonNull NotificationEntity notification , @ NonNull UserGroupEntity userGroupEntity , @ NonNull MediaEntity media ) throws MessagingException , UnsupportedEncodingException , RequestFailedException , InterruptedException {
115- notifySimple (notification , userGroupEntity , media , "discord.requirement.added.subject" );
115+ notifySimple (notification , userGroupEntity , media , "discord.requirement.added.subject" , true );
116116 }
117117
118118 public void notifyMediaAvailable (@ NonNull NotificationEntity notification , @ NonNull UserGroupEntity userGroupEntity , @ NonNull MediaEntity media ) throws RequestFailedException , InterruptedException {
119- notifySimple (notification , userGroupEntity , media , "discord.media.available.subject" );
119+ notifySimple (notification , userGroupEntity , media , "discord.media.available.subject" , true );
120120 }
121121
122122 public void notifyMediaDeleted (@ NonNull NotificationEntity notification , @ NonNull UserGroupEntity userGroupEntity , @ NonNull MediaEntity media ) throws RequestFailedException , InterruptedException {
123- notifySimple (notification , userGroupEntity , media , "discord.media.deleted.subject" );
123+ notifySimple (notification , userGroupEntity , media , "discord.media.deleted.subject" , false );
124124 }
125125
126126 public void notifyMediaWatched (@ NonNull NotificationEntity notification , @ NonNull UserGroupEntity userGroupEntity , @ NonNull MediaEntity media ) throws RequestFailedException , InterruptedException {
127- notifySimple (notification , userGroupEntity , media , "discord.media.watched.subject" );
127+ notifySimple (notification , userGroupEntity , media , "discord.media.watched.subject" , false );
128128 }
129129
130130 public void notifyRequirementManuallyWatched (@ NonNull NotificationEntity notification , @ NonNull UserGroupEntity userGroupEntity , @ NonNull MediaEntity media ) throws MessagingException , UnsupportedEncodingException , RequestFailedException , InterruptedException {
131- notifySimple (notification , userGroupEntity , media , "discord.requirement.manually-watched.subject" );
131+ notifySimple (notification , userGroupEntity , media , "discord.requirement.manually-watched.subject" , false );
132132 }
133133
134134 public void notifyRequirementManuallyAbandoned (@ NonNull NotificationEntity notification , @ NonNull UserGroupEntity userGroupEntity , @ NonNull MediaEntity media ) throws RequestFailedException , InterruptedException {
135- notifySimple (notification , userGroupEntity , media , "discord.requirement.manually-abandoned.subject" );
135+ notifySimple (notification , userGroupEntity , media , "discord.requirement.manually-abandoned.subject" , false );
136136 }
137137
138138 public void notifyMediaAdded (@ NonNull NotificationEntity notification , @ NonNull UserGroupEntity userGroupEntity , @ NonNull MediaMetadataContext mediaMetadataContext , @ Nullable MediaEntity media ) throws RequestFailedException , InterruptedException {
@@ -293,7 +293,7 @@ public void notifyMediaAdded(@NonNull NotificationEntity notification, @NonNull
293293 discordWebhookApiService .sendWebhookMessage (discordUrl , messageBuilder .build ());
294294 }
295295
296- private void notifySimple (@ NonNull NotificationEntity notification , @ NonNull UserGroupEntity userGroupEntity , @ NonNull MediaEntity media , @ NonNull String subjectKey ) throws RequestFailedException , InterruptedException {
296+ private void notifySimple (@ NonNull NotificationEntity notification , @ NonNull UserGroupEntity userGroupEntity , @ NonNull MediaEntity media , @ NonNull String subjectKey , boolean includeEpisodes ) throws RequestFailedException , InterruptedException {
297297 var locale = userGroupEntity .getLocaleAsObject ();
298298 var params = notification .getValue ().split ("," );
299299 var discordUserId = params [0 ];
@@ -307,7 +307,7 @@ private void notifySimple(@NonNull NotificationEntity notification, @NonNull Use
307307 .threadName (header )
308308 .content ("<@%s>\n %s\n \n %s" .formatted (
309309 discordUserId ,
310- getWatchlistMediaText (userGroupEntity , media , locale ),
310+ getWatchlistMediaText (userGroupEntity , media , locale , includeEpisodes ),
311311 getFooterContent (locale )
312312 ));
313313 }
@@ -316,7 +316,7 @@ private void notifySimple(@NonNull NotificationEntity notification, @NonNull Use
316316 .content ("<@%s>\n # %s\n %s\n \n %s" .formatted (
317317 discordUserId ,
318318 header ,
319- getWatchlistMediaText (userGroupEntity , media , locale ),
319+ getWatchlistMediaText (userGroupEntity , media , locale , includeEpisodes ),
320320 getFooterContent (locale )
321321 ));
322322 }
@@ -332,7 +332,7 @@ private void writeWatchlistSection(@NonNull String discordUrl, @Nullable Long th
332332 discordWebhookApiService .sendWebhookMessage (discordUrl , threadId , WebhookMessage .builder ().content ("# %s\n " .formatted (messageSource .getMessage (sectionHeaderCode , new Object [0 ], locale ))).build ());
333333 var messages = medias .stream ()
334334 .sorted (MediaEntity .COMPARATOR_BY_TYPE_THEN_NAME_THEN_INDEX )
335- .map (media -> getWatchlistMediaText (userGroupEntity , media , locale ))
335+ .map (media -> getWatchlistMediaText (userGroupEntity , media , locale , true ))
336336 .toList ();
337337 for (var message : messages ){
338338 discordWebhookApiService .sendWebhookMessage (discordUrl , threadId , WebhookMessage .builder ()
@@ -343,17 +343,19 @@ private void writeWatchlistSection(@NonNull String discordUrl, @Nullable Long th
343343 }
344344
345345 @ SneakyThrows (RequestFailedException .class )
346- private String getWatchlistMediaText (@ NonNull UserGroupEntity userGroupEntity , @ NonNull MediaEntity media , @ NonNull Locale locale ){
346+ private String getWatchlistMediaText (@ NonNull UserGroupEntity userGroupEntity , @ NonNull MediaEntity media , @ NonNull Locale locale , boolean includeEpisodes ){
347347 var sb = new StringBuilder ();
348348 sb .append (messageSource .getMessage (getTypeKey (media ), new Object []{
349349 media .getName (),
350350 media .getIndex (),
351351 }, locale ));
352352
353- var episodes = getEpisodes (media , userGroupEntity );
354- if (!episodes .isEmpty ()){
355- sb .append (" | " );
356- sb .append (messageSource .getMessage ("discord.watchlist.body.media.series.episodes" , new Object []{String .join (", " , episodes )}, locale ));
353+ if (includeEpisodes ){
354+ var episodes = getEpisodes (media , userGroupEntity );
355+ if (!episodes .isEmpty ()){
356+ sb .append (" | " );
357+ sb .append (messageSource .getMessage ("discord.watchlist.body.media.series.episodes" , new Object []{String .join (", " , episodes )}, locale ));
358+ }
357359 }
358360
359361 var overseerrUrl = thymeleafService .getMediaOverseerrUrl (media );
0 commit comments