2022-06-03 08:09:47 -06:00
# Generated by Django 3.2.5 on 2022-05-31 14:46
import apps . user_management . models . organization
import apps . user_management . models . team
import apps . user_management . models . user
import datetime
import django . core . validators
from django . db import migrations , models
import django . db . models . deletion
import mirage . fields
2023-02-06 16:01:37 +08:00
import django_migration_linter as linter
2022-06-03 08:09:47 -06:00
class Migration ( migrations . Migration ) :
initial = True
dependencies = [
( ' alerts ' , ' 0001_squashed_initial ' ) ,
( ' slack ' , ' 0001_squashed_initial ' ) ,
]
operations = [
2023-02-06 16:01:37 +08:00
linter . IgnoreMigration ( ) ,
2022-06-03 08:09:47 -06:00
migrations . CreateModel (
name = ' Organization ' ,
fields = [
( ' id ' , models . BigAutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' maintenance_duration ' , models . DurationField ( choices = [ ( datetime . timedelta ( seconds = 3600 ) , ' 1 hour ' ) , ( datetime . timedelta ( seconds = 10800 ) , ' 3 hours ' ) , ( datetime . timedelta ( seconds = 21600 ) , ' 6 hours ' ) , ( datetime . timedelta ( seconds = 43200 ) , ' 12 hours ' ) , ( datetime . timedelta ( days = 1 ) , ' 24 hours ' ) ] , default = None , null = True ) ) ,
( ' maintenance_mode ' , models . IntegerField ( choices = [ ( 0 , ' Debug ' ) , ( 1 , ' Maintenance ' ) ] , default = None , null = True ) ) ,
( ' maintenance_uuid ' , models . CharField ( default = None , max_length = 250 , null = True , unique = True ) ) ,
( ' maintenance_started_at ' , models . DateTimeField ( default = None , null = True ) ) ,
( ' public_primary_key ' , models . CharField ( default = apps . user_management . models . organization . generate_public_primary_key_for_organization , max_length = 20 , unique = True , validators = [ django . core . validators . MinLengthValidator ( 13 ) ] ) ) ,
( ' stack_id ' , models . PositiveIntegerField ( ) ) ,
( ' org_id ' , models . PositiveIntegerField ( ) ) ,
( ' stack_slug ' , models . CharField ( max_length = 300 ) ) ,
( ' org_slug ' , models . CharField ( max_length = 300 ) ) ,
( ' org_title ' , models . CharField ( max_length = 300 ) ) ,
( ' grafana_url ' , models . URLField ( ) ) ,
( ' api_token ' , mirage . fields . EncryptedCharField ( max_length = 300 ) ) ,
( ' api_token_status ' , models . IntegerField ( choices = [ ( 0 , ' API Token Status Pending ' ) , ( 1 , ' API Token Status Ok ' ) , ( 2 , ' API Token Status Failed ' ) ] , default = 0 ) ) ,
( ' gcom_token ' , mirage . fields . EncryptedCharField ( default = None , max_length = 300 , null = True ) ) ,
( ' gcom_token_org_last_time_synced ' , models . DateTimeField ( default = None , null = True ) ) ,
( ' last_time_synced ' , models . DateTimeField ( default = None , null = True ) ) ,
( ' is_resolution_note_required ' , models . BooleanField ( default = False ) ) ,
( ' archive_alerts_from ' , models . DateField ( default = ' 1970-01-01 ' ) ) ,
( ' general_log_channel_id ' , models . CharField ( default = None , max_length = 100 , null = True ) ) ,
( ' acknowledge_remind_timeout ' , models . IntegerField ( choices = [ ( 0 , ' Never remind about ack-ed incidents ' ) , ( 1 , ' Remind every 1 hour ' ) , ( 2 , ' Remind every 3 hours ' ) , ( 3 , ' Remind every 5 hours ' ) , ( 4 , ' Remind every 10 hours ' ) ] , default = 0 ) ) ,
( ' unacknowledge_timeout ' , models . IntegerField ( choices = [ ( 0 , ' and never unack ' ) , ( 1 , ' and unack in 5 min if no response ' ) , ( 2 , ' and unack in 15 min if no response ' ) , ( 3 , ' and unack in 30 min if no response ' ) , ( 4 , ' and unack in 45 min if no response ' ) ] , default = 0 ) ) ,
( ' datetime ' , models . DateTimeField ( auto_now_add = True ) ) ,
( ' pricing_version ' , models . PositiveIntegerField ( choices = [ ( 0 , ' Free public beta ' ) ] , default = 0 ) ) ,
( ' is_amixr_migration_started ' , models . BooleanField ( default = False ) ) ,
] ,
) ,
migrations . CreateModel (
name = ' Team ' ,
fields = [
( ' id ' , models . BigAutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' public_primary_key ' , models . CharField ( default = apps . user_management . models . team . generate_public_primary_key_for_team , max_length = 20 , unique = True , validators = [ django . core . validators . MinLengthValidator ( 13 ) ] ) ) ,
( ' team_id ' , models . PositiveIntegerField ( ) ) ,
( ' name ' , models . CharField ( max_length = 300 ) ) ,
( ' email ' , models . CharField ( blank = True , default = None , max_length = 300 , null = True ) ) ,
( ' avatar_url ' , models . URLField ( ) ) ,
( ' organization ' , models . ForeignKey ( on_delete = django . db . models . deletion . CASCADE , related_name = ' teams ' , to = ' user_management.organization ' ) ) ,
] ,
) ,
migrations . CreateModel (
name = ' User ' ,
fields = [
( ' id ' , models . BigAutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' public_primary_key ' , models . CharField ( default = apps . user_management . models . user . generate_public_primary_key_for_user , max_length = 20 , unique = True , validators = [ django . core . validators . MinLengthValidator ( 13 ) ] ) ) ,
( ' user_id ' , models . PositiveIntegerField ( ) ) ,
( ' email ' , models . EmailField ( max_length = 254 ) ) ,
( ' name ' , models . CharField ( max_length = 300 ) ) ,
( ' username ' , models . CharField ( max_length = 300 ) ) ,
( ' role ' , models . PositiveSmallIntegerField ( choices = [ ( 0 , ' ADMIN ' ) , ( 1 , ' EDITOR ' ) , ( 2 , ' VIEWER ' ) ] ) ) ,
( ' avatar_url ' , models . URLField ( ) ) ,
( ' unverified_phone_number ' , models . CharField ( default = None , max_length = 20 , null = True ) ) ,
( ' _verified_phone_number ' , models . CharField ( default = None , max_length = 20 , null = True ) ) ,
( ' is_active ' , models . BooleanField ( default = True , null = True ) ) ,
( ' current_team ' , models . ForeignKey ( default = None , null = True , on_delete = django . db . models . deletion . SET_NULL , to = ' user_management.team ' ) ) ,
( ' notification ' , models . ManyToManyField ( through = ' alerts.UserHasNotification ' , to = ' alerts.AlertGroup ' ) ) ,
( ' organization ' , models . ForeignKey ( on_delete = django . db . models . deletion . CASCADE , related_name = ' users ' , to = ' user_management.organization ' ) ) ,
( ' slack_user_identity ' , models . ForeignKey ( default = None , null = True , on_delete = django . db . models . deletion . PROTECT , related_name = ' users ' , to = ' slack.slackuseridentity ' ) ) ,
] ,
options = {
' unique_together ' : { ( ' user_id ' , ' organization ' , ' is_active ' ) } ,
} ,
) ,
migrations . AddField (
model_name = ' team ' ,
name = ' users ' ,
field = models . ManyToManyField ( related_name = ' teams ' , to = ' user_management.User ' ) ,
) ,
migrations . AddField (
model_name = ' organization ' ,
name = ' maintenance_author ' ,
field = models . ForeignKey ( null = True , on_delete = django . db . models . deletion . SET_NULL , related_name = ' organization_maintenances_created ' , to = ' user_management.user ' ) ,
) ,
migrations . AddField (
model_name = ' organization ' ,
name = ' slack_team_identity ' ,
field = models . ForeignKey ( default = None , null = True , on_delete = django . db . models . deletion . PROTECT , related_name = ' organizations ' , to = ' slack.slackteamidentity ' ) ,
) ,
migrations . AlterUniqueTogether (
name = ' organization ' ,
unique_together = { ( ' stack_id ' , ' org_id ' ) } ,
) ,
]