summaryrefslogtreecommitdiff
path: root/10-entwurfsheft/assets/diagrams/sequencediagram-getSubscriptions.puml
diff options
context:
space:
mode:
authorOrangerot <purple@orangerot.dev>2024-05-24 17:42:08 +0200
committerOrangerot <purple@orangerot.dev>2024-05-24 17:47:22 +0200
commit7fcdc1c788725f866de71fc9dfd8c4d1cb132b57 (patch)
tree89931c85ae3f149884ba02c69862558e93f01531 /10-entwurfsheft/assets/diagrams/sequencediagram-getSubscriptions.puml
Initial commitHEADmain
Diffstat (limited to '10-entwurfsheft/assets/diagrams/sequencediagram-getSubscriptions.puml')
-rw-r--r--10-entwurfsheft/assets/diagrams/sequencediagram-getSubscriptions.puml38
1 files changed, 38 insertions, 0 deletions
diff --git a/10-entwurfsheft/assets/diagrams/sequencediagram-getSubscriptions.puml b/10-entwurfsheft/assets/diagrams/sequencediagram-getSubscriptions.puml
new file mode 100644
index 0000000..4d8ab90
--- /dev/null
+++ b/10-entwurfsheft/assets/diagrams/sequencediagram-getSubscriptions.puml
@@ -0,0 +1,38 @@
+@startuml
+
+' title =**Get All Subscriptions**
+
+participant SubscriptionController << (C, #ADD1B2) @Controller >>
+-> SubscriptionController: ""GET /subscriptions/{username}.json"" \n"" /subscriptions/{username}/{deviceid}.json"" \n//@RequestParam("jsonp") String functionJSONP// \n\n-> getSubscriptions(""username"", ""deviceid"", //functionJSONP//)
+activate SubscriptionController
+note right
+ Die Parameter ""deviceid"" und
+ //functionJSONP// werden ignoriert,
+ da nicht zwischen Geräten unterschieden
+ und JSONP nicht unterstützt wird.
+end note
+participant SubscriptionService << (C, #ADD1B2) @Service >>
+SubscriptionController -> SubscriptionService: getSubscriptions(""username"")
+activate SubscriptionService
+participant SubscriptionDataAccessService << (C, #ADD1B2) @Repository >>
+SubscriptionService -> SubscriptionDataAccessService: getSubscriptions(""username"")
+activate SubscriptionDataAccessService
+SubscriptionDataAccessService -> SubscriptionDataAccessService: getSubscriptionsSince(""username"", LocalDateTime.MIN)
+database Database
+activate SubscriptionDataAccessService
+SubscriptionDataAccessService -> Database: get all Subscriptions for ""username""
+activate Database
+Database --> SubscriptionDataAccessService: List<Subscription> subscriptions
+SubscriptionDataAccessService -> Database: get Podcasts from Subscriptions
+Database --> SubscriptionDataAccessService: List<Podcast> subscribedPodcasts
+deactivate Database
+SubscriptionDataAccessService --> SubscriptionDataAccessService: List<String> podcastURLs
+deactivate SubscriptionDataAccessService
+SubscriptionDataAccessService --> SubscriptionService: List<String> podcastURLs
+deactivate SubscriptionDataAccessService
+SubscriptionService --> SubscriptionController: List<String> podcastURLs
+deactivate SubscriptionService
+<-- SubscriptionController: ResponseEntity<List<String>> podcastURLs \n \n-> ""HTTP status code"" \n-> ""JSON""
+deactivate SubscriptionController
+
+@enduml \ No newline at end of file