1
0
mirror of https://github.com/peeringdb/peeringdb.git synced 2024-05-11 05:55:09 +00:00
Files
peeringdb-peeringdb/peeringdb_server/migrations/0001_initial.py
Matt Griswold ba6f9b6432 Qu1003 (#621)
* use new peeringdb client (1.0.0) for pdb_load_data sync (#599)

* drop django-mobi for lack of py3/dj2 support (#492)
remove django-forms-bootstrap for lack of py3/dj2 support (#492)

* black formatted

* django2.2 and py3 upgrade (#492)

* drop ixlans (#21) ui and api changes

* drop local_asn (#168)

* org search (#193)

* phone number validation (#50)

* implement help text tooltips (#228)

* Mark own ASN as transit-free (#394)

* py3 fix for `pdb_migrate_ixlans` command when writing migration report

* pdb_migrate_ixlans: properly handle py3 Runtime error if ixlan dict changes during iteration

* set rest DEFAULT_SCHEMA_CLASS to coreapi to fix swagger apidocs
fix migration 0027 missing from facsimile manifest

* fix swagger doc strings

* fix tests that were broken from api doc fixes

* fix UniqueFieldValidator for netixlan ipaddress validation that broke during django/drf upgrade

* fix org merge tool layout issues

* travis config

* update pipfile and lock

* black formatting

* update travis dist

* beta mode banner (#411)

* add beta banner template (#411)

* automatically scheduled sync may not always be on, add a flag that lets us reflect that state in the beta banner message
clean up beta banner implementation (#411)

* add tests for beta banner (#411)
2020-01-08 13:29:58 -06:00

1180 lines
46 KiB
Python

# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2017-08-03 22:13
from django.conf import settings
import django.contrib.auth.models
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import django.db.models.manager
import django.utils.timezone
import django_countries.fields
import django_handleref.models
import django_inet.models
import django_peeringdb.models.abstract
import peeringdb_server.models
class Migration(migrations.Migration):
initial = True
dependencies = [
("contenttypes", "0002_remove_content_type_name"),
("auth", "0008_alter_user_username_max_length"),
]
operations = [
migrations.CreateModel(
name="User",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("password", models.CharField(max_length=128, verbose_name="password")),
(
"last_login",
models.DateTimeField(
blank=True, null=True, verbose_name="last login"
),
),
(
"is_superuser",
models.BooleanField(
default=False,
help_text="Designates that this user has all permissions without explicitly assigning them.",
verbose_name="superuser status",
),
),
(
"username",
models.CharField(
help_text="Required. Letters, digits and [@.+-/_=|] only.",
max_length=254,
unique=True,
validators=[
django.core.validators.RegexValidator(
r"^[\\w\\.@+-=|/]+$",
"Enter a valid username.",
"invalid",
flags=32,
)
],
verbose_name="username",
),
),
(
"email",
models.EmailField(max_length=254, verbose_name="email address"),
),
(
"first_name",
models.CharField(
blank=True, max_length=254, verbose_name="first name"
),
),
(
"last_name",
models.CharField(
blank=True, max_length=254, verbose_name="last name"
),
),
(
"is_staff",
models.BooleanField(
default=False,
help_text="Designates whether the user can log into admin site.",
verbose_name="staff status",
),
),
(
"is_active",
models.BooleanField(
default=True,
help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.",
verbose_name="active",
),
),
(
"date_joined",
models.DateTimeField(
default=django.utils.timezone.now, verbose_name="date joined"
),
),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
(
"updated",
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name="Updated"
),
),
(
"status",
models.CharField(
default=b"ok", max_length=254, verbose_name="status"
),
),
],
options={
"db_table": "peeringdb_user",
"verbose_name": "user",
"verbose_name_plural": "users",
},
managers=[("objects", django.contrib.auth.models.UserManager()),],
),
migrations.CreateModel(
name="Facility",
fields=[
("id", models.AutoField(primary_key=True, serialize=False)),
(
"status",
models.CharField(blank=True, max_length=255, verbose_name="Status"),
),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
(
"updated",
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name="Updated"
),
),
("version", models.IntegerField(default=0)),
("address1", models.CharField(blank=True, max_length=255)),
("address2", models.CharField(blank=True, max_length=255)),
("city", models.CharField(blank=True, max_length=255)),
("state", models.CharField(blank=True, max_length=255)),
("zipcode", models.CharField(blank=True, max_length=48)),
(
"country",
django_countries.fields.CountryField(blank=True, max_length=2),
),
("name", models.CharField(max_length=255, unique=True)),
(
"website",
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255
),
),
("clli", models.CharField(blank=True, max_length=18)),
("rencode", models.CharField(blank=True, max_length=18)),
("npanxx", models.CharField(blank=True, max_length=21)),
("notes", models.TextField(blank=True)),
],
options={
"abstract": False,
"db_table": "peeringdb_facility",
"verbose_name_plural": "Facilities",
},
managers=[("handleref", django.db.models.manager.Manager()),],
),
migrations.CreateModel(
name="InternetExchange",
fields=[
("id", models.AutoField(primary_key=True, serialize=False)),
(
"status",
models.CharField(blank=True, max_length=255, verbose_name="Status"),
),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
(
"updated",
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name="Updated"
),
),
("version", models.IntegerField(default=0)),
("name", models.CharField(max_length=64, unique=True)),
("name_long", models.CharField(blank=True, max_length=254)),
("city", models.CharField(max_length=192)),
("country", django_countries.fields.CountryField(max_length=2)),
("notes", models.TextField(blank=True)),
(
"region_continent",
models.CharField(
choices=[
(b"North America", b"North America"),
(b"Asia Pacific", b"Asia Pacific"),
(b"Europe", b"Europe"),
(b"South America", b"South America"),
(b"Africa", b"Africa"),
(b"Australia", b"Australia"),
(b"Middle East", b"Middle East"),
],
max_length=255,
),
),
(
"media",
models.CharField(
choices=[
(b"Ethernet", b"Ethernet"),
(b"ATM", b"ATM"),
(b"Multiple", b"Multiple"),
],
max_length=128,
),
),
("proto_unicast", models.BooleanField(default=False)),
("proto_multicast", models.BooleanField(default=False)),
("proto_ipv6", models.BooleanField(default=False)),
(
"website",
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255
),
),
(
"url_stats",
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255
),
),
("tech_email", models.EmailField(blank=True, max_length=254)),
("tech_phone", models.CharField(blank=True, max_length=192)),
("policy_email", models.EmailField(blank=True, max_length=254)),
("policy_phone", models.CharField(blank=True, max_length=192)),
],
options={"abstract": False, "db_table": "peeringdb_ix",},
managers=[("handleref", django.db.models.manager.Manager()),],
),
migrations.CreateModel(
name="InternetExchangeFacility",
fields=[
("id", models.AutoField(primary_key=True, serialize=False)),
(
"status",
models.CharField(blank=True, max_length=255, verbose_name="Status"),
),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
(
"updated",
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name="Updated"
),
),
("version", models.IntegerField(default=0)),
(
"facility",
models.ForeignKey(
default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name="ixfac_set",
to="peeringdb_server.Facility",
),
),
(
"ix",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="ixfac_set",
to="peeringdb_server.InternetExchange",
),
),
],
options={"db_table": "peeringdb_ix_facility",},
managers=[("handleref", django.db.models.manager.Manager()),],
),
migrations.CreateModel(
name="IXLan",
fields=[
("id", models.AutoField(primary_key=True, serialize=False)),
(
"status",
models.CharField(blank=True, max_length=255, verbose_name="Status"),
),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
(
"updated",
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name="Updated"
),
),
("version", models.IntegerField(default=0)),
("name", models.CharField(blank=True, max_length=255)),
("descr", models.TextField(blank=True)),
("mtu", models.PositiveIntegerField(blank=True, null=True)),
("vlan", models.PositiveIntegerField(blank=True, null=True)),
("dot1q_support", models.BooleanField(default=False)),
(
"rs_asn",
django_inet.models.ASNField(blank=True, default=0, null=True),
),
(
"arp_sponge",
django_inet.models.MacAddressField(
blank=True, max_length=17, null=True, unique=True
),
),
(
"ix",
models.ForeignKey(
default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name="ixlan_set",
to="peeringdb_server.InternetExchange",
),
),
],
options={"db_table": "peeringdb_ixlan",},
managers=[("handleref", django.db.models.manager.Manager()),],
),
migrations.CreateModel(
name="IXLanPrefix",
fields=[
("id", models.AutoField(primary_key=True, serialize=False)),
(
"status",
models.CharField(blank=True, max_length=255, verbose_name="Status"),
),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
(
"updated",
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name="Updated"
),
),
("version", models.IntegerField(default=0)),
("notes", models.CharField(blank=True, max_length=255)),
(
"protocol",
models.CharField(
choices=[(b"IPv4", b"IPv4"), (b"IPv6", b"IPv6")], max_length=64
),
),
(
"prefix",
django_inet.models.IPPrefixField(max_length=43, unique=True),
),
(
"ixlan",
models.ForeignKey(
default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name="ixpfx_set",
to="peeringdb_server.IXLan",
),
),
],
options={"abstract": False, "db_table": "peeringdb_ixlan_prefix",},
managers=[("handleref", django.db.models.manager.Manager()),],
),
migrations.CreateModel(
name="Network",
fields=[
("id", models.AutoField(primary_key=True, serialize=False)),
(
"status",
models.CharField(blank=True, max_length=255, verbose_name="Status"),
),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
(
"updated",
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name="Updated"
),
),
("version", models.IntegerField(default=0)),
("asn", django_inet.models.ASNField(unique=True)),
("name", models.CharField(max_length=255, unique=True)),
("aka", models.CharField(blank=True, max_length=255)),
("irr_as_set", models.CharField(blank=True, max_length=255)),
(
"website",
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255
),
),
(
"looking_glass",
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255
),
),
(
"route_server",
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255
),
),
("notes", models.TextField(blank=True)),
("notes_private", models.TextField(blank=True)),
(
"info_traffic",
models.CharField(
blank=True,
choices=[
(b"", b"Not Disclosed"),
(b"0-20 Mbps", b"0-20 Mbps"),
(b"20-100Mbps", b"20-100Mbps"),
(b"100-1000Mbps", b"100-1000Mbps"),
(b"1-5Gbps", b"1-5Gbps"),
(b"5-10Gbps", b"5-10Gbps"),
(b"10-20Gbps", b"10-20Gbps"),
(b"20-50 Gbps", b"20-50 Gbps"),
(b"50-100 Gbps", b"50-100 Gbps"),
(b"100+ Gbps", b"100+ Gbps"),
(b"100-200 Gbps", b"100-200 Gbps"),
(b"200-300 Gbps", b"200-300 Gbps"),
(b"300-500 Gbps", b"300-500 Gbps"),
(b"500-1000 Gbps", b"500-1000 Gbps"),
(b"1 Tbps+", b"1 Tbps+"),
(b"10 Tbps+", b"10 Tbps+"),
],
max_length=39,
),
),
(
"info_ratio",
models.CharField(
blank=True,
choices=[
(b"", b"Not Disclosed"),
(b"Not Disclosed", b"Not Disclosed"),
(b"Heavy Outbound", b"Heavy Outbound"),
(b"Mostly Outbound", b"Mostly Outbound"),
(b"Balanced", b"Balanced"),
(b"Mostly Inbound", b"Mostly Inbound"),
(b"Heavy Inbound", b"Heavy Inbound"),
],
default=b"Not Disclosed",
max_length=45,
),
),
(
"info_scope",
models.CharField(
blank=True,
choices=[
(b"", b"Not Disclosed"),
(b"Not Disclosed", b"Not Disclosed"),
(b"Regional", b"Regional"),
(b"North America", b"North America"),
(b"Asia Pacific", b"Asia Pacific"),
(b"Europe", b"Europe"),
(b"South America", b"South America"),
(b"Africa", b"Africa"),
(b"Australia", b"Australia"),
(b"Middle East", b"Middle East"),
(b"Global", b"Global"),
],
default=b"Not Disclosed",
max_length=39,
),
),
(
"info_type",
models.CharField(
blank=True,
choices=[
(b"", b"Not Disclosed"),
(b"Not Disclosed", b"Not Disclosed"),
(b"NSP", b"NSP"),
(b"Content", b"Content"),
(b"Cable/DSL/ISP", b"Cable/DSL/ISP"),
(b"Enterprise", b"Enterprise"),
(b"Educational/Research", b"Educational/Research"),
(b"Non-Profit", b"Non-Profit"),
(b"Route Server", b"Route Server"),
],
default=b"Not Disclosed",
max_length=60,
),
),
("info_prefixes4", models.PositiveIntegerField(blank=True, null=True)),
("info_prefixes6", models.PositiveIntegerField(blank=True, null=True)),
("info_unicast", models.BooleanField(default=False)),
("info_multicast", models.BooleanField(default=False)),
("info_ipv6", models.BooleanField(default=False)),
(
"policy_url",
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255
),
),
(
"policy_general",
models.CharField(
blank=True,
choices=[
(b"Open", b"Open"),
(b"Selective", b"Selective"),
(b"Restrictive", b"Restrictive"),
(b"No", b"No"),
],
max_length=72,
),
),
(
"policy_locations",
models.CharField(
blank=True,
choices=[
(b"Not Required", b"Not Required"),
(b"Preferred", b"Preferred"),
(b"Required - US", b"Required - US"),
(b"Required - EU", b"Required - EU"),
(b"Required - International", b"Required - International"),
],
max_length=72,
),
),
("policy_ratio", models.BooleanField(default=False)),
(
"policy_contracts",
models.CharField(
blank=True,
choices=[
(b"Not Required", b"Not Required"),
(b"Private Only", b"Private Only"),
(b"Required", b"Required"),
],
max_length=36,
),
),
],
options={
"abstract": False,
"db_table": "peeringdb_network",
"verbose_name_plural": "Networks",
},
managers=[("handleref", django.db.models.manager.Manager()),],
),
migrations.CreateModel(
name="NetworkContact",
fields=[
("id", models.AutoField(primary_key=True, serialize=False)),
(
"status",
models.CharField(blank=True, max_length=255, verbose_name="Status"),
),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
(
"updated",
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name="Updated"
),
),
("version", models.IntegerField(default=0)),
(
"role",
models.CharField(
choices=[
(b"Abuse", b"Abuse"),
(b"Maintenance", b"Maintenance"),
(b"Policy", b"Policy"),
(b"Technical", b"Technical"),
(b"NOC", b"NOC"),
(b"Public Relations", b"Public Relations"),
(b"Sales", b"Sales"),
],
max_length=27,
),
),
(
"visible",
models.CharField(
choices=[
(b"Private", b"Private"),
(b"Users", b"Users"),
(b"Public", b"Public"),
],
default=b"Public",
max_length=64,
),
),
("name", models.CharField(blank=True, max_length=254)),
("phone", models.CharField(blank=True, max_length=100)),
("email", models.EmailField(blank=True, max_length=254)),
(
"url",
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255
),
),
(
"network",
models.ForeignKey(
default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name="poc_set",
to="peeringdb_server.Network",
),
),
],
options={"db_table": "peeringdb_network_contact",},
managers=[("handleref", django.db.models.manager.Manager()),],
),
migrations.CreateModel(
name="NetworkFacility",
fields=[
("id", models.AutoField(primary_key=True, serialize=False)),
(
"status",
models.CharField(blank=True, max_length=255, verbose_name="Status"),
),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
(
"updated",
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name="Updated"
),
),
("version", models.IntegerField(default=0)),
("local_asn", django_inet.models.ASNField(blank=True, null=True)),
("avail_sonet", models.BooleanField(default=False)),
("avail_ethernet", models.BooleanField(default=False)),
("avail_atm", models.BooleanField(default=False)),
(
"facility",
models.ForeignKey(
default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name="netfac_set",
to="peeringdb_server.Facility",
),
),
(
"network",
models.ForeignKey(
default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name="netfac_set",
to="peeringdb_server.Network",
),
),
],
options={"db_table": "peeringdb_network_facility",},
managers=[("handleref", django.db.models.manager.Manager()),],
),
migrations.CreateModel(
name="NetworkIXLan",
fields=[
("id", models.AutoField(primary_key=True, serialize=False)),
(
"status",
models.CharField(blank=True, max_length=255, verbose_name="Status"),
),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
(
"updated",
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name="Updated"
),
),
("version", models.IntegerField(default=0)),
("asn", django_inet.models.ASNField()),
(
"ipaddr4",
django_inet.models.IPAddressField(
blank=True, max_length=39, null=True
),
),
(
"ipaddr6",
django_inet.models.IPAddressField(
blank=True, max_length=39, null=True
),
),
("is_rs_peer", models.BooleanField(default=False)),
("notes", models.CharField(blank=True, max_length=255)),
("speed", models.PositiveIntegerField()),
(
"ixlan",
models.ForeignKey(
default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name="netixlan_set",
to="peeringdb_server.IXLan",
),
),
(
"network",
models.ForeignKey(
default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name="netixlan_set",
to="peeringdb_server.Network",
),
),
],
options={"db_table": "peeringdb_network_ixlan",},
managers=[("handleref", django.db.models.manager.Manager()),],
),
migrations.CreateModel(
name="Organization",
fields=[
("id", models.AutoField(primary_key=True, serialize=False)),
(
"status",
models.CharField(blank=True, max_length=255, verbose_name="Status"),
),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
(
"updated",
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name="Updated"
),
),
("version", models.IntegerField(default=0)),
("address1", models.CharField(blank=True, max_length=255)),
("address2", models.CharField(blank=True, max_length=255)),
("city", models.CharField(blank=True, max_length=255)),
("state", models.CharField(blank=True, max_length=255)),
("zipcode", models.CharField(blank=True, max_length=48)),
(
"country",
django_countries.fields.CountryField(blank=True, max_length=2),
),
("name", models.CharField(max_length=255, unique=True)),
(
"website",
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255
),
),
("notes", models.TextField(blank=True)),
(
"logo",
models.FileField(
blank=True,
help_text=b"Allows you to upload and set a logo image file for this organization",
null=True,
upload_to=b"logos/",
),
),
],
options={
"abstract": False,
"db_table": "peeringdb_organization",
"verbose_name_plural": "Organizations",
},
managers=[("handleref", django.db.models.manager.Manager()),],
),
migrations.CreateModel(
name="OrganizationMerge",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"created",
models.DateTimeField(auto_now_add=True, verbose_name="Merged on"),
),
(
"from_org",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="merged_to",
to="peeringdb_server.Organization",
),
),
(
"to_org",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="merged_from",
to="peeringdb_server.Organization",
),
),
],
options={
"db_table": "peeringdb_organization_merge",
"verbose_name": "Organization Merge",
"verbose_name_plural": "Organization Merges",
},
),
migrations.CreateModel(
name="OrganizationMergeEntity",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("object_id", models.PositiveIntegerField()),
("note", models.CharField(blank=True, max_length=32, null=True)),
(
"content_type",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="contenttypes.ContentType",
),
),
(
"merge",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="entities",
to="peeringdb_server.OrganizationMerge",
),
),
],
options={
"db_table": "peeringdb_organization_merge_entity",
"verbose_name": "Organization Merge: Entity",
"verbose_name_plural": "Organization Merge: Entities",
},
),
migrations.CreateModel(
name="Sponsorship",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"start_date",
models.DateTimeField(
default=peeringdb_server.models.default_time_s,
verbose_name="Sponsorship starts on",
),
),
(
"end_date",
models.DateTimeField(
default=peeringdb_server.models.default_time_e,
verbose_name="Sponsorship ends on",
),
),
(
"notify_date",
models.DateTimeField(
blank=True,
null=True,
verbose_name="Expiration notification sent on",
),
),
(
"level",
models.PositiveIntegerField(
choices=[
(1, "Silver"),
(2, "Gold"),
(3, "Platinum"),
(4, "Diamond"),
],
default=1,
),
),
(
"url",
models.URLField(
blank=True,
help_text="If specified clicking the sponsorship will take the user to this location",
null=True,
verbose_name="URL",
),
),
(
"logo",
models.FileField(
blank=True,
help_text=b"Allows you to upload and set a logo image file for this sponsorship",
null=True,
upload_to=b"logos/",
),
),
(
"org",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="sponsorships",
to="peeringdb_server.Organization",
),
),
],
options={
"db_table": "peeringdb_sponsorship",
"verbose_name": "Sponsorship",
"verbose_name_plural": "Sponsorships",
},
),
migrations.CreateModel(
name="UserOrgAffiliationRequest",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"org_name",
models.CharField(
blank=True,
help_text=b"The organization name entered by the user",
max_length=255,
null=True,
),
),
(
"asn",
django_inet.models.ASNField(
blank=True, help_text=b"The ASN entered by the user", null=True
),
),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
(
"status",
models.CharField(
choices=[
(b"pending", b"Pending"),
(b"approved", b"Approved"),
(b"denied", b"Denied"),
],
help_text=b"Status of this request",
max_length=254,
),
),
(
"org",
models.ForeignKey(
blank=True,
help_text=b"This organization in our database that was derived from the provided ASN or organization name. If this is empty it means no matching organization was found.",
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="affiliation_requests",
to="peeringdb_server.Organization",
),
),
],
options={"db_table": "peeringdb_user_org_affil_request",},
),
migrations.CreateModel(
name="VerificationQueueItem",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("object_id", models.PositiveIntegerField()),
(
"created",
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name="Created"
),
),
("notified", models.BooleanField(default=False)),
(
"content_type",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="contenttypes.ContentType",
),
),
],
options={"db_table": "peeringdb_verification_queue",},
),
migrations.CreateModel(
name="UserPasswordReset",
fields=[
(
"user",
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
primary_key=True,
related_name="password_reset",
serialize=False,
to=settings.AUTH_USER_MODEL,
),
),
("token", models.CharField(max_length=255)),
("created", models.DateTimeField(auto_now_add=True)),
],
options={"db_table": "peeringdb_user_password_reset",},
),
migrations.AddField(
model_name="verificationqueueitem",
name="user",
field=models.ForeignKey(
blank=True,
help_text=b"The item that this queue is attached to was created by this user",
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="vqitems",
to=settings.AUTH_USER_MODEL,
),
),
migrations.AddField(
model_name="userorgaffiliationrequest",
name="user",
field=models.ForeignKey(
help_text=b"The user that made the request",
on_delete=django.db.models.deletion.CASCADE,
related_name="affiliation_requests",
to=settings.AUTH_USER_MODEL,
),
),
migrations.AddField(
model_name="network",
name="org",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="net_set",
to="peeringdb_server.Organization",
),
),
migrations.AddField(
model_name="internetexchange",
name="org",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="ix_set",
to="peeringdb_server.Organization",
),
),
migrations.AddField(
model_name="facility",
name="org",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="fac_set",
to="peeringdb_server.Organization",
),
),
migrations.AddField(
model_name="user",
name="groups",
field=models.ManyToManyField(
blank=True,
help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.",
related_name="user_set",
related_query_name="user",
to="auth.Group",
verbose_name="groups",
),
),
migrations.AddField(
model_name="user",
name="user_permissions",
field=models.ManyToManyField(
blank=True,
help_text="Specific permissions for this user.",
related_name="user_set",
related_query_name="user",
to="auth.Permission",
verbose_name="user permissions",
),
),
migrations.CreateModel(
name="DuplicateIPNetworkIXLan",
fields=[],
options={
"verbose_name": "Duplicate IP",
"proxy": True,
"verbose_name_plural": "Duplicate IPs",
"indexes": [],
},
bases=("peeringdb_server.networkixlan",),
managers=[("handleref", django.db.models.manager.Manager()),],
),
migrations.CreateModel(
name="UserPermission",
fields=[],
options={
"verbose_name": "User Permission",
"proxy": True,
"verbose_name_plural": "User Permissions",
"indexes": [],
},
bases=("peeringdb_server.user",),
managers=[("objects", django.contrib.auth.models.UserManager()),],
),
migrations.AlterUniqueTogether(
name="networkfacility",
unique_together=set([("network", "facility", "local_asn")]),
),
migrations.AlterUniqueTogether(
name="internetexchangefacility", unique_together=set([("ix", "facility")]),
),
]