@startuml file_access

title Acesso de Arquivo

actor "User" as user
participant "Appointment Service" as appointment_service
participant "Database" as database

note over user
Neste exemplo, o usuário deve
ser um **paciente**.
end note

user -> appointment_service: POST /files/{fileId}/access\n(Bearer JWT)

activate appointment_service

note over appointment_service
O paciente deve informar quem (médico)
terá acesso ao arquivo e
uma data de validade.
end note

appointment_service -> appointment_service: Validar os detalhes do acesso
appointment_service -> database: Carregar o arquivo
appointment_service -> database: Criar um novo acesso
database --> appointment_service: Salvar o acesso
appointment_service --> user: 201 Criado
deactivate appointment_service

@enduml