Files
mypointvpn/src/App/migrations/0004_point_subscription_inbound.py
T

40 lines
1.3 KiB
Python

from django.db import migrations, models
from serverus import generate_password, generate_port
def generate_subscription(apps, schema_editor):
# у уже установленных точек подписка появится после переустановки
Point = apps.get_model('App', 'Point')
for point in Point.objects.all():
point.sub_port = generate_port(exclude={point.panel_port})
point.sub_path = generate_password(12)
point.save(update_fields=['sub_port', 'sub_path'])
class Migration(migrations.Migration):
dependencies = [
('App', '0003_server_default_root_password'),
]
operations = [
migrations.AddField(
model_name='point',
name='panel_inbound_id',
field=models.PositiveIntegerField(blank=True, help_text='Подключение reality в панели', null=True),
),
migrations.AddField(
model_name='point',
name='sub_port',
field=models.PositiveIntegerField(default=0, help_text='Порт подписки панели'),
preserve_default=False,
),
migrations.AddField(
model_name='point',
name='sub_path',
field=models.CharField(default='', help_text='Путь подписки без слешей', max_length=64),
preserve_default=False,
),
migrations.RunPython(generate_subscription, migrations.RunPython.noop),
]