mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-03 09:43:33 +02:00
fixed documentation
This commit is contained in:
parent
86405b8814
commit
f3acd126d5
3 changed files with 197 additions and 453 deletions
|
@ -1,24 +1,34 @@
|
|||
# Complete model documentation
|
||||
|
||||
This is an auto-generated diagram of our data models generated with the
|
||||
[django-model2puml](https://github.com/sen-den/django-model2puml) library
|
||||
using the command
|
||||
[django-model2puml](https://github.com/sen-den/django-model2puml) library.
|
||||
|
||||
## How to generate the puml
|
||||
|
||||
1. Uncomment `puml_generator` from `INSTALLED_APPS` in settings.py and docker-compose down and up
|
||||
2. Run the following command to generate a puml file
|
||||
|
||||
```bash
|
||||
$ docker compose exec app ./manage.py generate_puml --include registrar
|
||||
docker compose exec app ./manage.py generate_puml --include registrar
|
||||
```
|
||||
Note: You must uncomment `puml_generator` from `INSTALLED_APPS` in settings.py and docker-compose down and up before running the above command
|
||||
|
||||

|
||||
|
||||
<details>
|
||||
<summary>PlantUML source code</summary>
|
||||
|
||||
To regenerate this image using Docker, run
|
||||
## How To regenerate the database svg image
|
||||
|
||||
1. Copy your puml file contents into the bottom of this file and replace the current code marked by `plantuml`
|
||||
2. Run the following command
|
||||
|
||||
```bash
|
||||
$ docker run -v $(pwd):$(pwd) -w $(pwd) -it plantuml/plantuml -tsvg models_diagram.md
|
||||
docker run -v $(pwd):$(pwd) -w $(pwd) -it plantuml/plantuml -tsvg models_diagram.md
|
||||
```
|
||||
|
||||
3. Remove the puml file from earlier if you still have it and commit the image and this md file
|
||||
|
||||
|
||||
```plantuml
|
||||
@startuml
|
||||
class "registrar.Contact <Registrar>" as registrar.Contact #d6f4e9 {
|
||||
|
@ -28,17 +38,97 @@ class "registrar.Contact <Registrar>" as registrar.Contact #d6f4e9 {
|
|||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
~ user (OneToOneField)
|
||||
+ first_name (TextField)
|
||||
+ middle_name (TextField)
|
||||
+ last_name (TextField)
|
||||
+ title (TextField)
|
||||
+ email (TextField)
|
||||
+ first_name (CharField)
|
||||
+ middle_name (CharField)
|
||||
+ last_name (CharField)
|
||||
+ title (CharField)
|
||||
+ email (EmailField)
|
||||
+ phone (PhoneNumberField)
|
||||
--
|
||||
}
|
||||
registrar.Contact -- registrar.User
|
||||
|
||||
|
||||
class "registrar.Host <Registrar>" as registrar.Host #d6f4e9 {
|
||||
host
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (CharField)
|
||||
~ domain (ForeignKey)
|
||||
--
|
||||
}
|
||||
registrar.Host -- registrar.Domain
|
||||
|
||||
|
||||
class "registrar.HostIP <Registrar>" as registrar.HostIP #d6f4e9 {
|
||||
host ip
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ address (CharField)
|
||||
~ host (ForeignKey)
|
||||
--
|
||||
}
|
||||
registrar.HostIP -- registrar.Host
|
||||
|
||||
|
||||
class "registrar.PublicContact <Registrar>" as registrar.PublicContact #d6f4e9 {
|
||||
public contact
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ contact_type (CharField)
|
||||
+ registry_id (CharField)
|
||||
~ domain (ForeignKey)
|
||||
+ name (CharField)
|
||||
+ org (CharField)
|
||||
+ street1 (CharField)
|
||||
+ street2 (CharField)
|
||||
+ street3 (CharField)
|
||||
+ city (CharField)
|
||||
+ sp (CharField)
|
||||
+ pc (CharField)
|
||||
+ cc (CharField)
|
||||
+ email (EmailField)
|
||||
+ voice (CharField)
|
||||
+ fax (CharField)
|
||||
+ pw (CharField)
|
||||
--
|
||||
}
|
||||
registrar.PublicContact -- registrar.Domain
|
||||
|
||||
|
||||
class "registrar.Domain <Registrar>" as registrar.Domain #d6f4e9 {
|
||||
domain
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (DomainField)
|
||||
+ state (FSMField)
|
||||
+ expiration_date (DateField)
|
||||
+ security_contact_registry_id (TextField)
|
||||
+ deleted (DateField)
|
||||
+ first_ready (DateField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.FederalAgency <Registrar>" as registrar.FederalAgency #d6f4e9 {
|
||||
Federal agency
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ agency (CharField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.DomainRequest <Registrar>" as registrar.DomainRequest #d6f4e9 {
|
||||
domain request
|
||||
--
|
||||
|
@ -46,24 +136,25 @@ class "registrar.DomainRequest <Registrar>" as registrar.DomainRequest #d6f4e9 {
|
|||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ status (FSMField)
|
||||
+ rejection_reason (TextField)
|
||||
~ federal_agency (ForeignKey)
|
||||
~ creator (ForeignKey)
|
||||
~ investigator (ForeignKey)
|
||||
+ generic_org_type (CharField)
|
||||
+ is_election_board (BooleanField)
|
||||
+ organization_type (CharField)
|
||||
+ federally_recognized_tribe (BooleanField)
|
||||
+ state_recognized_tribe (BooleanField)
|
||||
+ tribe_name (TextField)
|
||||
+ federal_agency (TextField)
|
||||
+ tribe_name (CharField)
|
||||
+ federal_type (CharField)
|
||||
+ is_election_board (BooleanField)
|
||||
+ organization_name (TextField)
|
||||
+ address_line1 (TextField)
|
||||
+ organization_name (CharField)
|
||||
+ address_line1 (CharField)
|
||||
+ address_line2 (CharField)
|
||||
+ city (TextField)
|
||||
+ city (CharField)
|
||||
+ state_territory (CharField)
|
||||
+ zipcode (CharField)
|
||||
+ urbanization (TextField)
|
||||
+ type_of_work (TextField)
|
||||
+ more_organization_information (TextField)
|
||||
+ urbanization (CharField)
|
||||
+ about_your_organization (TextField)
|
||||
~ authorizing_official (ForeignKey)
|
||||
~ approved_domain (OneToOneField)
|
||||
~ requested_domain (OneToOneField)
|
||||
|
@ -71,17 +162,23 @@ class "registrar.DomainRequest <Registrar>" as registrar.DomainRequest #d6f4e9 {
|
|||
+ purpose (TextField)
|
||||
+ no_other_contacts_rationale (TextField)
|
||||
+ anything_else (TextField)
|
||||
+ has_anything_else_text (BooleanField)
|
||||
+ cisa_representative_email (EmailField)
|
||||
+ has_cisa_representative (BooleanField)
|
||||
+ is_policy_acknowledged (BooleanField)
|
||||
+ submission_date (DateField)
|
||||
+ notes (TextField)
|
||||
# current_websites (ManyToManyField)
|
||||
# alternative_domains (ManyToManyField)
|
||||
# other_contacts (ManyToManyField)
|
||||
--
|
||||
}
|
||||
registrar.DomainRequest -- registrar.FederalAgency
|
||||
registrar.DomainRequest -- registrar.User
|
||||
registrar.DomainRequest -- registrar.User
|
||||
registrar.DomainRequest -- registrar.Contact
|
||||
registrar.DomainRequest -- registrar.DraftDomain
|
||||
registrar.DomainRequest -- registrar.Domain
|
||||
registrar.DomainRequest -- registrar.DraftDomain
|
||||
registrar.DomainRequest -- registrar.Contact
|
||||
registrar.DomainRequest *--* registrar.Website
|
||||
registrar.DomainRequest *--* registrar.Website
|
||||
|
@ -94,35 +191,37 @@ class "registrar.DomainInformation <Registrar>" as registrar.DomainInformation #
|
|||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
~ federal_agency (ForeignKey)
|
||||
~ creator (ForeignKey)
|
||||
~ domain_request (OneToOneField)
|
||||
+ generic_org_type (CharField)
|
||||
+ organization_type (CharField)
|
||||
+ federally_recognized_tribe (BooleanField)
|
||||
+ state_recognized_tribe (BooleanField)
|
||||
+ tribe_name (TextField)
|
||||
+ federal_agency (TextField)
|
||||
+ tribe_name (CharField)
|
||||
+ federal_type (CharField)
|
||||
+ is_election_board (BooleanField)
|
||||
+ organization_name (TextField)
|
||||
+ address_line1 (TextField)
|
||||
+ organization_name (CharField)
|
||||
+ address_line1 (CharField)
|
||||
+ address_line2 (CharField)
|
||||
+ city (TextField)
|
||||
+ city (CharField)
|
||||
+ state_territory (CharField)
|
||||
+ zipcode (CharField)
|
||||
+ urbanization (TextField)
|
||||
+ type_of_work (TextField)
|
||||
+ more_organization_information (TextField)
|
||||
+ urbanization (CharField)
|
||||
+ about_your_organization (TextField)
|
||||
~ authorizing_official (ForeignKey)
|
||||
~ domain (OneToOneField)
|
||||
~ submitter (ForeignKey)
|
||||
+ purpose (TextField)
|
||||
+ no_other_contacts_rationale (TextField)
|
||||
+ anything_else (TextField)
|
||||
+ cisa_representative_email (EmailField)
|
||||
+ is_policy_acknowledged (BooleanField)
|
||||
+ security_email (EmailField)
|
||||
+ notes (TextField)
|
||||
# other_contacts (ManyToManyField)
|
||||
--
|
||||
}
|
||||
registrar.DomainInformation -- registrar.FederalAgency
|
||||
registrar.DomainInformation -- registrar.User
|
||||
registrar.DomainInformation -- registrar.DomainRequest
|
||||
registrar.DomainInformation -- registrar.Contact
|
||||
|
@ -142,43 +241,6 @@ class "registrar.DraftDomain <Registrar>" as registrar.DraftDomain #d6f4e9 {
|
|||
}
|
||||
|
||||
|
||||
class "registrar.Domain <Registrar>" as registrar.Domain #d6f4e9 {
|
||||
domain
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (CharField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.HostIP <Registrar>" as registrar.HostIP #d6f4e9 {
|
||||
host ip
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ address (CharField)
|
||||
~ host (ForeignKey)
|
||||
--
|
||||
}
|
||||
registrar.HostIP -- registrar.Host
|
||||
|
||||
|
||||
class "registrar.Host <Registrar>" as registrar.Host #d6f4e9 {
|
||||
host
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (CharField)
|
||||
~ domain (ForeignKey)
|
||||
--
|
||||
}
|
||||
registrar.Host -- registrar.Domain
|
||||
|
||||
|
||||
class "registrar.UserDomainRole <Registrar>" as registrar.UserDomainRole #d6f4e9 {
|
||||
user domain role
|
||||
--
|
||||
|
@ -208,47 +270,49 @@ class "registrar.DomainInvitation <Registrar>" as registrar.DomainInvitation #d6
|
|||
registrar.DomainInvitation -- registrar.Domain
|
||||
|
||||
|
||||
class "registrar.Nameserver <Registrar>" as registrar.Nameserver #d6f4e9 {
|
||||
nameserver
|
||||
class "registrar.TransitionDomain <Registrar>" as registrar.TransitionDomain #d6f4e9 {
|
||||
transition domain
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (CharField)
|
||||
~ domain (ForeignKey)
|
||||
~ host_ptr (OneToOneField)
|
||||
+ username (CharField)
|
||||
+ domain_name (CharField)
|
||||
+ status (CharField)
|
||||
+ email_sent (BooleanField)
|
||||
+ processed (BooleanField)
|
||||
+ generic_org_type (CharField)
|
||||
+ organization_name (CharField)
|
||||
+ federal_type (CharField)
|
||||
+ federal_agency (CharField)
|
||||
+ epp_creation_date (DateField)
|
||||
+ epp_expiration_date (DateField)
|
||||
+ first_name (CharField)
|
||||
+ middle_name (CharField)
|
||||
+ last_name (CharField)
|
||||
+ title (CharField)
|
||||
+ email (EmailField)
|
||||
+ phone (CharField)
|
||||
+ address_line (CharField)
|
||||
+ city (CharField)
|
||||
+ state_territory (CharField)
|
||||
+ zipcode (CharField)
|
||||
--
|
||||
}
|
||||
registrar.Nameserver -- registrar.Domain
|
||||
registrar.Nameserver -- registrar.Host
|
||||
|
||||
|
||||
class "registrar.PublicContact <Registrar>" as registrar.PublicContact #d6f4e9 {
|
||||
public contact
|
||||
class "registrar.VerifiedByStaff <Registrar>" as registrar.VerifiedByStaff #d6f4e9 {
|
||||
verified by staff
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ contact_type (CharField)
|
||||
+ registry_id (CharField)
|
||||
~ domain (ForeignKey)
|
||||
+ name (TextField)
|
||||
+ org (TextField)
|
||||
+ street1 (TextField)
|
||||
+ street2 (TextField)
|
||||
+ street3 (TextField)
|
||||
+ city (TextField)
|
||||
+ sp (TextField)
|
||||
+ pc (TextField)
|
||||
+ cc (TextField)
|
||||
+ email (TextField)
|
||||
+ voice (TextField)
|
||||
+ fax (TextField)
|
||||
+ pw (TextField)
|
||||
+ email (EmailField)
|
||||
~ requestor (ForeignKey)
|
||||
+ notes (TextField)
|
||||
--
|
||||
}
|
||||
|
||||
registrar.PublicContact -- registrar.Domain
|
||||
registrar.VerifiedByStaff -- registrar.User
|
||||
|
||||
|
||||
class "registrar.User <Registrar>" as registrar.User #d6f4e9 {
|
||||
|
@ -265,7 +329,11 @@ class "registrar.User <Registrar>" as registrar.User #d6f4e9 {
|
|||
+ is_staff (BooleanField)
|
||||
+ is_active (BooleanField)
|
||||
+ date_joined (DateTimeField)
|
||||
+ status (CharField)
|
||||
+ phone (PhoneNumberField)
|
||||
+ middle_name (CharField)
|
||||
+ title (CharField)
|
||||
+ verification_type (CharField)
|
||||
# groups (ManyToManyField)
|
||||
# user_permissions (ManyToManyField)
|
||||
# domains (ManyToManyField)
|
||||
|
@ -274,6 +342,17 @@ class "registrar.User <Registrar>" as registrar.User #d6f4e9 {
|
|||
registrar.User *--* registrar.Domain
|
||||
|
||||
|
||||
class "registrar.UserGroup <Registrar>" as registrar.UserGroup #d6f4e9 {
|
||||
User group
|
||||
--
|
||||
- id (AutoField)
|
||||
+ name (CharField)
|
||||
~ group_ptr (OneToOneField)
|
||||
# permissions (ManyToManyField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.Website <Registrar>" as registrar.Website #d6f4e9 {
|
||||
website
|
||||
--
|
||||
|
@ -285,6 +364,29 @@ class "registrar.Website <Registrar>" as registrar.Website #d6f4e9 {
|
|||
}
|
||||
|
||||
|
||||
class "registrar.WaffleFlag <Registrar>" as registrar.WaffleFlag #d6f4e9 {
|
||||
waffle flag
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ name (CharField)
|
||||
+ everyone (BooleanField)
|
||||
+ percent (DecimalField)
|
||||
+ testing (BooleanField)
|
||||
+ superusers (BooleanField)
|
||||
+ staff (BooleanField)
|
||||
+ authenticated (BooleanField)
|
||||
+ languages (TextField)
|
||||
+ rollout (BooleanField)
|
||||
+ note (TextField)
|
||||
+ created (DateTimeField)
|
||||
+ modified (DateTimeField)
|
||||
# groups (ManyToManyField)
|
||||
# users (ManyToManyField)
|
||||
--
|
||||
}
|
||||
registrar.WaffleFlag *--* registrar.User
|
||||
|
||||
|
||||
@enduml
|
||||
```
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 97 KiB |
|
@ -1,358 +0,0 @@
|
|||
@startuml
|
||||
class "registrar.Contact <Registrar>" as registrar.Contact #d6f4e9 {
|
||||
contact
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
~ user (OneToOneField)
|
||||
+ first_name (CharField)
|
||||
+ middle_name (CharField)
|
||||
+ last_name (CharField)
|
||||
+ title (CharField)
|
||||
+ email (EmailField)
|
||||
+ phone (PhoneNumberField)
|
||||
--
|
||||
}
|
||||
registrar.Contact -- registrar.User
|
||||
|
||||
|
||||
class "registrar.Host <Registrar>" as registrar.Host #d6f4e9 {
|
||||
host
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (CharField)
|
||||
~ domain (ForeignKey)
|
||||
--
|
||||
}
|
||||
registrar.Host -- registrar.Domain
|
||||
|
||||
|
||||
class "registrar.HostIP <Registrar>" as registrar.HostIP #d6f4e9 {
|
||||
host ip
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ address (CharField)
|
||||
~ host (ForeignKey)
|
||||
--
|
||||
}
|
||||
registrar.HostIP -- registrar.Host
|
||||
|
||||
|
||||
class "registrar.PublicContact <Registrar>" as registrar.PublicContact #d6f4e9 {
|
||||
public contact
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ contact_type (CharField)
|
||||
+ registry_id (CharField)
|
||||
~ domain (ForeignKey)
|
||||
+ name (CharField)
|
||||
+ org (CharField)
|
||||
+ street1 (CharField)
|
||||
+ street2 (CharField)
|
||||
+ street3 (CharField)
|
||||
+ city (CharField)
|
||||
+ sp (CharField)
|
||||
+ pc (CharField)
|
||||
+ cc (CharField)
|
||||
+ email (EmailField)
|
||||
+ voice (CharField)
|
||||
+ fax (CharField)
|
||||
+ pw (CharField)
|
||||
--
|
||||
}
|
||||
registrar.PublicContact -- registrar.Domain
|
||||
|
||||
|
||||
class "registrar.Domain <Registrar>" as registrar.Domain #d6f4e9 {
|
||||
domain
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (DomainField)
|
||||
+ state (FSMField)
|
||||
+ expiration_date (DateField)
|
||||
+ security_contact_registry_id (TextField)
|
||||
+ deleted (DateField)
|
||||
+ first_ready (DateField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.FederalAgency <Registrar>" as registrar.FederalAgency #d6f4e9 {
|
||||
Federal agency
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ agency (CharField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.DomainRequest <Registrar>" as registrar.DomainRequest #d6f4e9 {
|
||||
domain request
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ status (FSMField)
|
||||
+ rejection_reason (TextField)
|
||||
~ federal_agency (ForeignKey)
|
||||
~ creator (ForeignKey)
|
||||
~ investigator (ForeignKey)
|
||||
+ generic_org_type (CharField)
|
||||
+ is_election_board (BooleanField)
|
||||
+ organization_type (CharField)
|
||||
+ federally_recognized_tribe (BooleanField)
|
||||
+ state_recognized_tribe (BooleanField)
|
||||
+ tribe_name (CharField)
|
||||
+ federal_type (CharField)
|
||||
+ organization_name (CharField)
|
||||
+ address_line1 (CharField)
|
||||
+ address_line2 (CharField)
|
||||
+ city (CharField)
|
||||
+ state_territory (CharField)
|
||||
+ zipcode (CharField)
|
||||
+ urbanization (CharField)
|
||||
+ about_your_organization (TextField)
|
||||
~ authorizing_official (ForeignKey)
|
||||
~ approved_domain (OneToOneField)
|
||||
~ requested_domain (OneToOneField)
|
||||
~ submitter (ForeignKey)
|
||||
+ purpose (TextField)
|
||||
+ no_other_contacts_rationale (TextField)
|
||||
+ anything_else (TextField)
|
||||
+ has_anything_else_text (BooleanField)
|
||||
+ cisa_representative_email (EmailField)
|
||||
+ has_cisa_representative (BooleanField)
|
||||
+ is_policy_acknowledged (BooleanField)
|
||||
+ submission_date (DateField)
|
||||
+ notes (TextField)
|
||||
# current_websites (ManyToManyField)
|
||||
# alternative_domains (ManyToManyField)
|
||||
# other_contacts (ManyToManyField)
|
||||
--
|
||||
}
|
||||
registrar.DomainRequest -- registrar.FederalAgency
|
||||
registrar.DomainRequest -- registrar.User
|
||||
registrar.DomainRequest -- registrar.User
|
||||
registrar.DomainRequest -- registrar.Contact
|
||||
registrar.DomainRequest -- registrar.Domain
|
||||
registrar.DomainRequest -- registrar.DraftDomain
|
||||
registrar.DomainRequest -- registrar.Contact
|
||||
registrar.DomainRequest *--* registrar.Website
|
||||
registrar.DomainRequest *--* registrar.Website
|
||||
registrar.DomainRequest *--* registrar.Contact
|
||||
|
||||
|
||||
class "registrar.DomainInformation <Registrar>" as registrar.DomainInformation #d6f4e9 {
|
||||
domain information
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
~ federal_agency (ForeignKey)
|
||||
~ creator (ForeignKey)
|
||||
~ domain_request (OneToOneField)
|
||||
+ generic_org_type (CharField)
|
||||
+ organization_type (CharField)
|
||||
+ federally_recognized_tribe (BooleanField)
|
||||
+ state_recognized_tribe (BooleanField)
|
||||
+ tribe_name (CharField)
|
||||
+ federal_type (CharField)
|
||||
+ is_election_board (BooleanField)
|
||||
+ organization_name (CharField)
|
||||
+ address_line1 (CharField)
|
||||
+ address_line2 (CharField)
|
||||
+ city (CharField)
|
||||
+ state_territory (CharField)
|
||||
+ zipcode (CharField)
|
||||
+ urbanization (CharField)
|
||||
+ about_your_organization (TextField)
|
||||
~ authorizing_official (ForeignKey)
|
||||
~ domain (OneToOneField)
|
||||
~ submitter (ForeignKey)
|
||||
+ purpose (TextField)
|
||||
+ no_other_contacts_rationale (TextField)
|
||||
+ anything_else (TextField)
|
||||
+ cisa_representative_email (EmailField)
|
||||
+ is_policy_acknowledged (BooleanField)
|
||||
+ notes (TextField)
|
||||
# other_contacts (ManyToManyField)
|
||||
--
|
||||
}
|
||||
registrar.DomainInformation -- registrar.FederalAgency
|
||||
registrar.DomainInformation -- registrar.User
|
||||
registrar.DomainInformation -- registrar.DomainRequest
|
||||
registrar.DomainInformation -- registrar.Contact
|
||||
registrar.DomainInformation -- registrar.Domain
|
||||
registrar.DomainInformation -- registrar.Contact
|
||||
registrar.DomainInformation *--* registrar.Contact
|
||||
|
||||
|
||||
class "registrar.DraftDomain <Registrar>" as registrar.DraftDomain #d6f4e9 {
|
||||
draft domain
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (CharField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.UserDomainRole <Registrar>" as registrar.UserDomainRole #d6f4e9 {
|
||||
user domain role
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
~ user (ForeignKey)
|
||||
~ domain (ForeignKey)
|
||||
+ role (TextField)
|
||||
--
|
||||
}
|
||||
registrar.UserDomainRole -- registrar.User
|
||||
registrar.UserDomainRole -- registrar.Domain
|
||||
|
||||
|
||||
class "registrar.DomainInvitation <Registrar>" as registrar.DomainInvitation #d6f4e9 {
|
||||
domain invitation
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ email (EmailField)
|
||||
~ domain (ForeignKey)
|
||||
+ status (FSMField)
|
||||
--
|
||||
}
|
||||
registrar.DomainInvitation -- registrar.Domain
|
||||
|
||||
|
||||
class "registrar.TransitionDomain <Registrar>" as registrar.TransitionDomain #d6f4e9 {
|
||||
transition domain
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ username (CharField)
|
||||
+ domain_name (CharField)
|
||||
+ status (CharField)
|
||||
+ email_sent (BooleanField)
|
||||
+ processed (BooleanField)
|
||||
+ generic_org_type (CharField)
|
||||
+ organization_name (CharField)
|
||||
+ federal_type (CharField)
|
||||
+ federal_agency (CharField)
|
||||
+ epp_creation_date (DateField)
|
||||
+ epp_expiration_date (DateField)
|
||||
+ first_name (CharField)
|
||||
+ middle_name (CharField)
|
||||
+ last_name (CharField)
|
||||
+ title (CharField)
|
||||
+ email (EmailField)
|
||||
+ phone (CharField)
|
||||
+ address_line (CharField)
|
||||
+ city (CharField)
|
||||
+ state_territory (CharField)
|
||||
+ zipcode (CharField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.VerifiedByStaff <Registrar>" as registrar.VerifiedByStaff #d6f4e9 {
|
||||
verified by staff
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ email (EmailField)
|
||||
~ requestor (ForeignKey)
|
||||
+ notes (TextField)
|
||||
--
|
||||
}
|
||||
registrar.VerifiedByStaff -- registrar.User
|
||||
|
||||
|
||||
class "registrar.User <Registrar>" as registrar.User #d6f4e9 {
|
||||
user
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ password (CharField)
|
||||
+ last_login (DateTimeField)
|
||||
+ is_superuser (BooleanField)
|
||||
+ username (CharField)
|
||||
+ first_name (CharField)
|
||||
+ last_name (CharField)
|
||||
+ email (EmailField)
|
||||
+ is_staff (BooleanField)
|
||||
+ is_active (BooleanField)
|
||||
+ date_joined (DateTimeField)
|
||||
+ status (CharField)
|
||||
+ phone (PhoneNumberField)
|
||||
+ middle_name (CharField)
|
||||
+ title (CharField)
|
||||
+ verification_type (CharField)
|
||||
# groups (ManyToManyField)
|
||||
# user_permissions (ManyToManyField)
|
||||
# domains (ManyToManyField)
|
||||
--
|
||||
}
|
||||
registrar.User *--* registrar.Domain
|
||||
|
||||
|
||||
class "registrar.UserGroup <Registrar>" as registrar.UserGroup #d6f4e9 {
|
||||
User group
|
||||
--
|
||||
- id (AutoField)
|
||||
+ name (CharField)
|
||||
~ group_ptr (OneToOneField)
|
||||
# permissions (ManyToManyField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.Website <Registrar>" as registrar.Website #d6f4e9 {
|
||||
website
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ website (CharField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.WaffleFlag <Registrar>" as registrar.WaffleFlag #d6f4e9 {
|
||||
waffle flag
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ name (CharField)
|
||||
+ everyone (BooleanField)
|
||||
+ percent (DecimalField)
|
||||
+ testing (BooleanField)
|
||||
+ superusers (BooleanField)
|
||||
+ staff (BooleanField)
|
||||
+ authenticated (BooleanField)
|
||||
+ languages (TextField)
|
||||
+ rollout (BooleanField)
|
||||
+ note (TextField)
|
||||
+ created (DateTimeField)
|
||||
+ modified (DateTimeField)
|
||||
# groups (ManyToManyField)
|
||||
# users (ManyToManyField)
|
||||
--
|
||||
}
|
||||
registrar.WaffleFlag *--* registrar.User
|
||||
|
||||
|
||||
@enduml
|
Loading…
Add table
Add a link
Reference in a new issue