@startuml
skinparam backgroundColor #FFFFFF
skinparam defaultFontColor #000000
skinparam ArrowColor #000000
skinparam componentBorderColor #000000
skinparam databaseBorderColor #000000
skinparam shadowing false
left to right direction

title Email Event Taxonomy Assignment (Before)

component "Admin Email Template API\n/admin/email-template/*" as AdminApi #DDEBFF
component "AuthEmailTemplateResolver" as Resolver #D8F3DC
database "email_templates\n(template_key, locale, ...)" as TemplateTable #FFF4D6
component "Built-in template defaults" as Defaults #F3F4F6

AdminApi --> TemplateTable : create/update/list templates\nkeyed by templateKey
Resolver --> TemplateTable : lookup active template\nby templateKey + locale
Resolver --> Defaults : fallback when DB override missing

note bottom
No canonical event_type catalog exists.
Template assignment is key-centric and event semantics live in code/docs only.
end note
@enduml
