# Generated by Django 3.2.5 on 2022-05-31 14:46 import apps.schedules.models.custom_on_call_shift import apps.schedules.models.on_call_schedule import django.core.validators from django.db import migrations, models import django.db.models.deletion import uuid import django_migration_linter as linter class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ linter.IgnoreMigration(), migrations.CreateModel( name='CustomOnCallShift', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('public_primary_key', models.CharField(default=apps.schedules.models.custom_on_call_shift.generate_public_primary_key_for_custom_oncall_shift, max_length=20, unique=True, validators=[django.core.validators.MinLengthValidator(13)])), ('name', models.CharField(max_length=200)), ('time_zone', models.CharField(default=None, max_length=100, null=True)), ('source', models.IntegerField(choices=[(0, 'web'), (1, 'api'), (2, 'slack'), (3, 'terraform')], default=1)), ('rolling_users', models.JSONField(default=None, null=True)), ('start_rotation_from_user_index', models.PositiveIntegerField(default=None, null=True)), ('uuid', models.UUIDField(default=uuid.uuid4)), ('type', models.IntegerField(choices=[(0, 'Single event'), (1, 'Recurrent event'), (2, 'Rolling users')])), ('start', models.DateTimeField()), ('duration', models.DurationField()), ('frequency', models.IntegerField(choices=[(0, 'Daily'), (1, 'Weekly'), (2, 'Monthly')], default=None, null=True)), ('priority_level', models.IntegerField(default=0)), ('interval', models.IntegerField(default=None, null=True)), ('week_start', models.IntegerField(choices=[(0, 'Monday'), (1, 'Tuesday'), (2, 'Wednesday'), (3, 'Thursday'), (4, 'Friday'), (5, 'Saturday'), (6, 'Sunday')], default=6)), ('by_day', models.JSONField(default=None, null=True)), ('by_month', models.JSONField(default=None, null=True)), ('by_monthday', models.JSONField(default=None, null=True)), ], ), migrations.CreateModel( name='OnCallSchedule', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('public_primary_key', models.CharField(default=apps.schedules.models.on_call_schedule.generate_public_primary_key_for_oncall_schedule_channel, max_length=20, unique=True, validators=[django.core.validators.MinLengthValidator(13)])), ('cached_ical_file_primary', models.TextField(default=None, null=True)), ('prev_ical_file_primary', models.TextField(default=None, null=True)), ('cached_ical_file_overrides', models.TextField(default=None, null=True)), ('prev_ical_file_overrides', models.TextField(default=None, null=True)), ('name', models.CharField(max_length=200)), ('channel', models.CharField(default=None, max_length=100, null=True)), ('current_shifts', models.TextField(default='{}')), ('empty_oncall', models.BooleanField(default=True)), ('notify_oncall_shift_freq', models.IntegerField(choices=[(0, 'Never'), (1, 'Each shift')], default=1)), ('mention_oncall_start', models.BooleanField(default=True)), ('mention_oncall_next', models.BooleanField(default=False)), ('notify_empty_oncall', models.IntegerField(choices=[(0, 'Notify all people in the channel'), (1, 'Mention person from the previous slot'), (2, 'Inform about empty slot')], default=0)), ('has_gaps', models.BooleanField(default=False)), ('gaps_report_sent_at', models.DateField(default=None, null=True)), ('has_empty_shifts', models.BooleanField(default=False)), ('empty_shifts_report_sent_at', models.DateField(default=None, null=True)), ], ), migrations.CreateModel( name='OnCallScheduleCalendar', fields=[ ('oncallschedule_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='schedules.oncallschedule')), ('ical_url_overrides', models.CharField(default=None, max_length=500, null=True)), ('ical_file_error_overrides', models.CharField(default=None, max_length=200, null=True)), ('time_zone', models.CharField(default='UTC', max_length=100)), ], options={ 'abstract': False, 'base_manager_name': 'objects', }, bases=('schedules.oncallschedule',), ), migrations.CreateModel( name='OnCallScheduleICal', fields=[ ('oncallschedule_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='schedules.oncallschedule')), ('ical_url_primary', models.CharField(default=None, max_length=500, null=True)), ('ical_file_error_primary', models.CharField(default=None, max_length=200, null=True)), ('ical_url_overrides', models.CharField(default=None, max_length=500, null=True)), ('ical_file_error_overrides', models.CharField(default=None, max_length=200, null=True)), ], options={ 'abstract': False, 'base_manager_name': 'objects', }, bases=('schedules.oncallschedule',), ), ]