@startuml ' skinparam linetype ortho '######################################################################### 'SubscriptionsAPI component SubscriptionsAPI { component SubscriptionService component SubscriptionController component SubscriptionDataAccessLayer portout "Webserver" as wSub portin "Database" as dSub } dSub --0)- SubscriptionDataAccessLayer SubscriptionDataAccessLayer --0)- SubscriptionService SubscriptionService --0)- SubscriptionController SubscriptionController --0)- wSub '######################################################################### '######################################################################### 'EpisodeActionsAPI component EpisodeActionsAPI { component EpisodeActionService component EpisodeActionController component EpisodeActionDataAccessLayer portout "Webserver" as wEpisode portin "Database" as dEpisode } dEpisode --0)- EpisodeActionDataAccessLayer EpisodeActionController --0)- wEpisode EpisodeActionDataAccessLayer --0)- EpisodeActionService EpisodeActionService --0)- EpisodeActionController '######################################################################### '######################################################################### 'AuthenticationAPI component AuthenticationAPI { component AuthenticationService component AuthenticationController component AuthenticationDataAccessLayer portout "Webserver" as wAuth portin "Database" as dAuth } dAuth --0)- AuthenticationDataAccessLayer AuthenticationController --0)- wAuth AuthenticationDataAccessLayer --0)- AuthenticationService AuthenticationService --0)- AuthenticationController @enduml