@startuml

participant Backend order 10
participant Studio order 20
participant Plugin order 30
participant PluginBE order 40

== Startup ==

group Load
    Studio->Plugin: ~~~load~~~
    Plugin-->Studio: ready
    Studio->Plugin: init(UserId, PowId)
    note right: supply context
end

group Request Document Slides
    Plugin->Studio: getSlides
    return Promise.resolve(PowtoonId, Slides)
end

== Retrieve PAT ==

group Request PAT (Powtoon Access Token)
    Plugin->Studio: getPowtoonAccessToken
    Studio-->Backend: getToken(PowId)
    return PAT(userID, powId, perm, expiration)
    Studio-->Plugin: Promise.resolve(PAT)
end

== Displaying Comments ==

group Retrieve Comments Info
    Plugin->PluginBE: getComments(PAT)
    return comments
    Plugin->Studio: getUsers[userIds]
    Studio-->Backend: /api/v2/users?ids=[....]
    Backend-->Studio: [users & thumbUrls]
    Studio-->Plugin: Promise.resolve([users])
end

@enduml