pse-documentation/31-qualitaetsheft-kolloquium/assets/diagrams/sequencediagram-getEpisodeActionsOfPodcastSince.puml

32 lines
2 KiB
Plaintext
Raw Permalink Normal View History

2024-05-24 17:42:08 +02:00
@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<EpisodeAction> 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<EpisodeActionPost> episodeActionPosts
deactivate EpisodeActionDataAccessService
EpisodeActionService --> EpisodeActionController: List<EpisodeActionPost> episodeActionPosts
deactivate EpisodeActionService
<-- EpisodeActionController: ResponseEntity<EpisodeActionGetResponse> response \n\n-> ""HTTP status code"" \n-> ""JSON""
deactivate EpisodeActionController
@enduml