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
Stefan Pratter 5eb925e319 Support 202301 (#1329)
* fix next redirect when using U2F 2FA auth (#1191)

* Added self identifier to API

* fix migrations hierarchy after merging in previous support branch

* campus object

Co-authored-by: Stefan Pratter <stefan@20c.com>

* fix out of bound error message
add city / country to campus view

* fix tests

* relock poetry

* linting

* linting

* fix docs regen

* regen docs

* linting

* refactor self entity view to support carrier and campus object types and also make it easier to support additional object types in the future

* remove debug message

---------

Co-authored-by: Gajanan Patil <dipaksavaliya.python@gmail.com>
2023-02-15 07:55:01 +00:00

1228 lines
46 KiB
Python

# Generated by Django 1.11.4 on 2017-08-03 22:13
import django.contrib.auth.models
import django.core.validators
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
from django.conf import settings
from django.db import migrations, models
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.IntegerField(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={("network", "facility", "local_asn")},
),
migrations.AlterUniqueTogether(
name="internetexchangefacility",
unique_together={("ix", "facility")},
),
]