@startuml ' title =**Get Episode Actions of Podcast Since** participant EpisodeActionController << (C, #ADD1B2) @Controller >> -> EpisodeActionController: ""GET /api/2/episodes/{username}.json"" \n//@RequestParam("podcast") String podcastURL// \n//@RequestParam("device") String deviceID// \n//@RequestParam("since") long since// \n//@RequestParam("aggregated") boolean aggregated// \n\n-> getEpisodeActionsOfPodcastSince(""username"", //podcastURL//, //deviceID//, //since//, //aggregated//) note right Die Parameter //deviceID// und //aggregated// werden ignoriert. Siehe Notiz in Sequenzdiagramm **Get All Episode Actions**. end note activate EpisodeActionController participant EpisodeActionService << (C, #ADD1B2) @Service >> EpisodeActionController -> EpisodeActionService: getEpisodeActionsOfPodcastSince(""username"", //podcastURL//, //since//) activate EpisodeActionService participant EpisodeActionDataAccessService << (C, #ADD1B2) @Repository >> EpisodeActionService -> EpisodeActionDataAccessService: getEpisodeActionsOfPodcastSince(""username"", //podcastURL//, //since//) activate EpisodeActionDataAccessService database Database EpisodeActionDataAccessService -> Database: get all EpisodeActions the given podcast (//podcastURL//) activate Database Database --> EpisodeActionDataAccessService: List selectedEpisodeActions \n-> then remove all older than //since// EpisodeActionDataAccessService -> Database: join EpisodeActions in selectedEpisodeActions with episodeURL of Episode Database --> EpisodeActionDataAccessService deactivate Database EpisodeActionDataAccessService --> EpisodeActionService: List episodeActionPosts deactivate EpisodeActionDataAccessService EpisodeActionService --> EpisodeActionController: List episodeActionPosts deactivate EpisodeActionService <-- EpisodeActionController: ResponseEntity response \n\n-> ""HTTP status code"" \n-> ""JSON"" deactivate EpisodeActionController @enduml