1
0
mirror of https://github.com/dkmstr/openuds.git synced 2025-03-12 04:58:34 +03:00

Added migration of old net filterring format to new format

This commit is contained in:
Adolfo Gómez García 2024-08-21 17:13:57 +02:00
parent 8aaed4d41e
commit 338a4d1ecc
No known key found for this signature in database
GPG Key ID: DD1ABF20724CDA23

View File

@ -7,6 +7,7 @@ import django.db.models.deletion
import uds.core.util.model import uds.core.util.model
import uds.models.notifications import uds.models.notifications
import uds.models.user_service_session import uds.models.user_service_session
import uds.core.consts.auth as auth
# Remove ServicePools with null service field # Remove ServicePools with null service field
@ -40,6 +41,23 @@ def update_network_model(apps: typing.Any, schema_editor: typing.Any): # pylint
print(f'Error updating network model: {e}') # Will fail on pytest, but it's ok print(f'Error updating network model: {e}') # Will fail on pytest, but it's ok
# Update transport net_filtering in base to networks field of Transport having any element
# If no elements: net_filtering = auth.NO_FILTERING
# if any element and nets_positive = True: net_filtering = auth.ALLOW
# if any element and nets_positive = False: net_filtering = auth.DENY
# We must use the migration model, because the models.Transport does not have the nets_positive field
def update_transport_net_filtering(
apps: typing.Any, schema_editor: typing.Any
): # pylint: disable=unused-argument
Transport = apps.get_model('uds', 'Transport')
for transport in Transport.objects.all():
if transport.networks.count() == 0:
transport.net_filtering = auth.NO_FILTERING
else:
transport.net_filtering = auth.ALLOW if transport.nets_positive else auth.DENY
transport.save(update_fields=['net_filtering'])
class Migration(migrations.Migration): class Migration(migrations.Migration):
dependencies = [ dependencies = [
("uds", "0043_auto_20220704_2120"), ("uds", "0043_auto_20220704_2120"),
@ -97,9 +115,7 @@ class Migration(migrations.Migration):
("enabled", models.BooleanField(default=True)), ("enabled", models.BooleanField(default=True)),
( (
"level", "level",
models.PositiveIntegerField( models.PositiveIntegerField(default=uds.models.notifications.LogLevel["ERROR"]),
default=uds.models.notifications.LogLevel["ERROR"]
),
), ),
], ],
options={ options={
@ -164,10 +180,6 @@ class Migration(migrations.Migration):
model_name="service", model_name="service",
name="proxy", name="proxy",
), ),
migrations.RemoveField(
model_name="transport",
name="nets_positive",
),
migrations.RemoveField( migrations.RemoveField(
model_name="userservice", model_name="userservice",
name="cluster_node", name="cluster_node",
@ -180,7 +192,7 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name="authenticator", model_name="authenticator",
name="net_filtering", name="net_filtering",
field=models.CharField(db_index=True, default="n", max_length=1), field=models.CharField(db_index=True, default=auth.NO_FILTERING, max_length=1),
), ),
migrations.AddField( migrations.AddField(
model_name="authenticator", model_name="authenticator",
@ -239,7 +251,14 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name="transport", model_name="transport",
name="net_filtering", name="net_filtering",
field=models.CharField(db_index=True, default="n", max_length=1), field=models.CharField(db_index=True, default=auth.NO_FILTERING, max_length=1),
),
# Update transport net_filtering in base to networks field of Transport having any element
migrations.RunPython(update_transport_net_filtering, nop),
# And now remove the nets_positive field
migrations.RemoveField(
model_name="transport",
name="nets_positive",
), ),
migrations.AlterField( migrations.AlterField(
model_name="account", model_name="account",
@ -249,16 +268,12 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name="account", model_name="account",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="accountusage", model_name="accountusage",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="actortoken", model_name="actortoken",
@ -278,79 +293,57 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name="authenticator", model_name="authenticator",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="calendar", model_name="calendar",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="calendaraccess", model_name="calendaraccess",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="calendaraccessmeta", model_name="calendaraccessmeta",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="calendaraction", model_name="calendaraction",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="calendarrule", model_name="calendarrule",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="group", model_name="group",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="image", model_name="image",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="metapool", model_name="metapool",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="metapoolmember", model_name="metapoolmember",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="mfa", model_name="mfa",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="network", model_name="network",
@ -360,30 +353,22 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name="network", model_name="network",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="osmanager", model_name="osmanager",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="permissions", model_name="permissions",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="provider", model_name="provider",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="scheduler", model_name="scheduler",
@ -393,16 +378,12 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name="service", model_name="service",
name="token", name="token",
field=models.CharField( field=models.CharField(blank=True, default=None, max_length=64, null=True, unique=True),
blank=True, default=None, max_length=64, null=True, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="service", model_name="service",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="servicepool", model_name="servicepool",
@ -416,44 +397,32 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name="servicepool", model_name="servicepool",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="servicepoolgroup", model_name="servicepoolgroup",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="servicepoolpublication", model_name="servicepoolpublication",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="tag", model_name="tag",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="ticketstore", model_name="ticketstore",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="transport", model_name="transport",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="tunneltoken", model_name="tunneltoken",
@ -473,9 +442,7 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name="user", model_name="user",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.AlterField( migrations.AlterField(
model_name="userservice", model_name="userservice",
@ -490,9 +457,7 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name="userservice", model_name="userservice",
name="uuid", name="uuid",
field=models.CharField( field=models.CharField(default=uds.core.util.model.generate_uuid, max_length=50, unique=True),
default=uds.core.util.model.generate_uuid, max_length=50, unique=True
),
), ),
migrations.DeleteModel( migrations.DeleteModel(
name="Proxy", name="Proxy",