8 KiB
8 KiB
Relations entre les modèles du module d'intégration UniFi
Ce document présente visuellement les relations entre les différents modèles du module d'intégration UniFi.
Diagramme de relations principal
+-------------------+
| |
| udm.site |<-------------------+
| | |
+--------+----------+ |
| |
| |
v |
+--------+---------+ +---------------+--------------+
| | | |
| udm.auth.session | | udm.site.import.wizard |
| | | (TransientModel) |
+------------------+ | |
+---------------+--------------+
|
|
v
+---------------+--------------+
| |
| udm.site.discovery |
| (TransientModel) |
| |
+------------------------------+
Hiérarchie des modèles avec le site comme entité centrale
+-------------------+
| |
| udm.site |
| |
+--+------+------+--+
| | |
| | |
| | |
| | |
v v v
+---------------+ +------------------+ +----------------+ +----------------+
| | | | | | | |
| udm.device | | udm.network | | udm.vlan | | udm.user |
| | | | | | | |
+---------------+ +------------------+ +----------------+ +----------------+
|
|
v
+----------+---------+
| |
| udm.firewall.rule |
| |
+--------------------+
Modèles de support et leur relation avec udm.site
+-------------------+
| |
| udm.site |
| |
+--+------+------+--+
| | |
| | |
v v v
+--+------+ +---+----+ +---+----+
| | | | | |
| udm.api. | | udm. | | udm. |
| config | | api.log| | sync. |
| | | | | job |
+----------+ +--------+ +--------+
Détail des relations entre les modèles principaux
+-------------------+
| udm.site |
|-------------------|
| name |
| api_type |<---+
| site_id | |
| ... | |
+-------------------+ |
^ |
| |
| |
+-------+-------+ |
| udm.network | |
|----------------| |
| site_id +------+
| name |
| subnet |
| ... |
+----------------+
^
|
|
+-------+-------+
| udm.device |
|----------------|
| site_id |
| network_id +------+
| name | |
| mac_address | |
| ... | |
+----------------+ |
^ |
| |
| |
+-------+-------+ |
| udm.user | |
|----------------| |
| site_id | |
| network_id +------+
| name |
| email |
| ... |
+----------------+
Relations spécifiques à l'authentification
+-------------------+
| udm.site |
|-------------------|
| api_type |
| ... |
+--------+----------+
|
|
v
+--------+---------+ +---------------+
| udm.auth.session | | udm.mfa |
|------------------| |---------------|
| site_id | | site_id |
| auth_type | | mfa_type |
| token | | mfa_code |
| expiry | | ... |
| ... | | |
+------------------+ +---------------+
Modèles spécifiques à chaque type d'API
API Site Manager (distante)
+-------------------+
| udm.site |
|-------------------|
| api_type='site_manager' |
| api_key |
| mfa_enabled |
| ... |
+--------+----------+
|
|
v
+--------+---------+
| udm.device |
|------------------|
| site_id |
| cloud_device_id |
| ... |
+------------------+
+-------------------+
| udm.site |
|-------------------|
| api_type='site_manager' |
| ... |
+--------+----------+
|
|
v
+--------+---------+
| udm.network |
|------------------|
| site_id |
| cloud_network_id |
| ... |
+------------------+
API Controller (locale)
+-------------------+
| udm.site |
|-------------------|
| api_type='controller' |
| host |
| port |
| username |
| password |
| controller_type |
| ... |
+--------+----------+
|
|
v
+--------+---------+
| udm.device |
|------------------|
| site_id |
| device_id |
| adopted |
| ... |
+------------------+
+-------------------+
| udm.site |
|-------------------|
| api_type='controller' |
| ... |
+--------+----------+
|
|
v
+--------+---------+
| udm.network |
|------------------|
| site_id |
| network_id |
| ... |
+------------------+
Flux de données pour la synchronisation
+-------------------+
| udm.site |
|-------------------|
| api_type |
| last_sync |
| sync_interval |
| ... |
+--------+----------+
|
|
v
+--------+---------+
| udm.sync.job |
|------------------|
| site_id |
| start_time |
| end_time |
| state |
| sync_type |
| ... |
+--------+----------+
|
|
v
+--------+---------+
| udm.api.log |
|------------------|
| site_id |
| sync_job_id |
| endpoint |
| method |
| status_code |
| ... |
+------------------+
Assistant d'importation de site
+-------------------+
| udm.site.import. |
| wizard |
|-------------------|
| state |
| api_type |
| ... |
+--------+----------+
|
|
v
+--------+---------+
| udm.site.discovery|
|------------------|
| wizard_id |
| site_name |
| site_id |
| selected |
| ... |
+------------------+
|
|
v
+--------+---------+
| udm.site |
|------------------|
| (Créé par |
| l'assistant) |
+------------------+
Légende
- Les flèches indiquent les relations entre les modèles
- Les relations Many2one sont représentées par des flèches simples
- Les relations One2many sont implicites dans la direction opposée aux flèches Many2one
- Les modèles TransientModel sont utilisés pour les assistants et ne sont pas persistants
Cette représentation visuelle montre comment les différents modèles sont liés entre eux, avec le modèle udm.site comme entité centrale autour de laquelle s'articulent tous les autres modèles.