graph LR;
subgraph auth
UserPool[UserPool]
PreSign["PreSignupFunction\n(Lambda)"]
PreAuth["PreAuthenticationFunction\n(Lambda)"]
Product[("ProductTable\n(DynamoDB)")]
Restriction[("Restriction\n(DynamoDB)")]
end
UserPool -- PreAuthentication --> PreAuth
UserPool -- PreSignup --> PreSign
PreAuth -- read only --> Product
PreSign -- read only --> Restriction
PreAuth -- read only --> Restriction
PreSign -- read only --> Product
subgraph otherproduct[Other product]
Function[LambdaFunction]
end
PreAuth -. invoke if registered .-> Function