2019-02-16 09:24:31 +00:00
# Generated by Django 2.1.7 on 2019-02-16 09:10
2018-11-16 12:08:37 +00:00
2019-02-08 14:19:29 +00:00
import uuid
2018-11-11 12:41:48 +00:00
import django . contrib . auth . models
import django . contrib . auth . validators
import django . db . models . deletion
import django . utils . timezone
2019-02-08 14:19:29 +00:00
from django . conf import settings
from django . db import migrations , models
2018-11-11 12:41:48 +00:00
class Migration ( migrations . Migration ) :
initial = True
dependencies = [
( ' auth ' , ' 0009_alter_user_last_name_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 ( error_messages = { ' unique ' : ' A user with that username already exists. ' } , help_text = ' Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. ' , max_length = 150 , unique = True , validators = [ django . contrib . auth . validators . UnicodeUsernameValidator ( ) ] , verbose_name = ' username ' ) ) ,
( ' first_name ' , models . CharField ( blank = True , max_length = 30 , verbose_name = ' first name ' ) ) ,
( ' last_name ' , models . CharField ( blank = True , max_length = 150 , verbose_name = ' last name ' ) ) ,
( ' email ' , models . EmailField ( blank = True , max_length = 254 , verbose_name = ' email address ' ) ) ,
( ' is_staff ' , models . BooleanField ( default = False , help_text = ' Designates whether the user can log into this 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 ' ) ) ,
2018-12-10 09:49:50 +00:00
( ' uuid ' , models . UUIDField ( default = uuid . uuid4 , editable = False ) ) ,
2018-11-11 12:41:48 +00:00
] ,
options = {
' verbose_name ' : ' user ' ,
' verbose_name_plural ' : ' users ' ,
' abstract ' : False ,
} ,
managers = [
( ' objects ' , django . contrib . auth . models . UserManager ( ) ) ,
] ,
) ,
2019-02-08 13:57:59 +00:00
migrations . CreateModel (
name = ' Group ' ,
fields = [
( ' uuid ' , models . UUIDField ( default = uuid . uuid4 , editable = False , primary_key = True , serialize = False ) ) ,
( ' name ' , models . CharField ( max_length = 80 , verbose_name = ' name ' ) ) ,
( ' extra_data ' , models . TextField ( blank = True ) ) ,
( ' parent ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . SET_NULL , related_name = ' children ' , to = ' passbook_core.Group ' ) ) ,
] ,
) ,
migrations . CreateModel (
name = ' Invitation ' ,
fields = [
( ' uuid ' , models . UUIDField ( default = uuid . uuid4 , editable = False , primary_key = True , serialize = False ) ) ,
( ' expires ' , models . DateTimeField ( blank = True , default = None , null = True ) ) ,
( ' fixed_username ' , models . TextField ( blank = True , default = None ) ) ,
( ' fixed_email ' , models . TextField ( blank = True , default = None ) ) ,
( ' created_by ' , models . ForeignKey ( on_delete = django . db . models . deletion . CASCADE , to = settings . AUTH_USER_MODEL ) ) ,
] ,
options = {
' verbose_name ' : ' Invitation ' ,
' verbose_name_plural ' : ' Invitations ' ,
} ,
) ,
2018-11-16 10:41:14 +00:00
migrations . CreateModel (
2019-02-16 09:24:31 +00:00
name = ' Policy ' ,
2018-11-11 12:41:48 +00:00
fields = [
( ' created ' , models . DateField ( auto_now_add = True ) ) ,
( ' last_updated ' , models . DateTimeField ( auto_now = True ) ) ,
2018-11-16 08:10:35 +00:00
( ' uuid ' , models . UUIDField ( default = uuid . uuid4 , editable = False , primary_key = True , serialize = False ) ) ,
2018-11-11 12:41:48 +00:00
( ' name ' , models . TextField ( blank = True , null = True ) ) ,
( ' action ' , models . CharField ( choices = [ ( ' allow ' , ' allow ' ) , ( ' deny ' , ' deny ' ) ] , max_length = 20 ) ) ,
( ' negate ' , models . BooleanField ( default = False ) ) ,
2018-12-10 09:49:50 +00:00
( ' order ' , models . IntegerField ( default = 0 ) ) ,
2018-11-11 12:41:48 +00:00
] ,
options = {
' abstract ' : False ,
} ,
) ,
migrations . CreateModel (
2019-02-16 09:24:31 +00:00
name = ' PolicyModel ' ,
2018-11-11 12:41:48 +00:00
fields = [
( ' created ' , models . DateField ( auto_now_add = True ) ) ,
( ' last_updated ' , models . DateTimeField ( auto_now = True ) ) ,
2018-11-16 08:10:35 +00:00
( ' uuid ' , models . UUIDField ( default = uuid . uuid4 , editable = False , primary_key = True , serialize = False ) ) ,
2018-11-11 12:41:48 +00:00
] ,
options = {
' abstract ' : False ,
} ,
) ,
2019-02-16 09:24:31 +00:00
migrations . CreateModel (
name = ' Provider ' ,
fields = [
( ' id ' , models . AutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
] ,
) ,
2018-11-11 12:41:48 +00:00
migrations . CreateModel (
name = ' UserSourceConnection ' ,
fields = [
( ' id ' , models . AutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' created ' , models . DateField ( auto_now_add = True ) ) ,
( ' last_updated ' , models . DateTimeField ( auto_now = True ) ) ,
( ' user ' , models . ForeignKey ( on_delete = django . db . models . deletion . CASCADE , to = settings . AUTH_USER_MODEL ) ) ,
] ,
) ,
2018-11-22 12:12:07 +00:00
migrations . CreateModel (
name = ' Application ' ,
fields = [
2019-02-16 09:24:31 +00:00
( ' policymodel_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' passbook_core.PolicyModel ' ) ) ,
2018-11-22 12:12:07 +00:00
( ' name ' , models . TextField ( ) ) ,
2019-02-08 13:57:59 +00:00
( ' slug ' , models . SlugField ( ) ) ,
2018-11-22 12:12:07 +00:00
( ' launch_url ' , models . URLField ( blank = True , null = True ) ) ,
( ' icon_url ' , models . TextField ( blank = True , null = True ) ) ,
2018-11-25 11:31:11 +00:00
( ' skip_authorization ' , models . BooleanField ( default = False ) ) ,
2019-02-16 09:24:31 +00:00
( ' provider ' , models . OneToOneField ( blank = True , default = None , null = True , on_delete = django . db . models . deletion . SET_DEFAULT , to = ' passbook_core.Provider ' ) ) ,
2018-11-22 12:12:07 +00:00
] ,
options = {
' abstract ' : False ,
} ,
2019-02-16 09:24:31 +00:00
bases = ( ' passbook_core.policymodel ' , ) ,
2018-11-22 12:12:07 +00:00
) ,
2018-12-10 09:49:50 +00:00
migrations . CreateModel (
2019-02-16 09:24:31 +00:00
name = ' DebugPolicy ' ,
2018-12-10 09:49:50 +00:00
fields = [
2019-02-16 09:24:31 +00:00
( ' policy_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' passbook_core.Policy ' ) ) ,
2018-12-10 09:49:50 +00:00
( ' result ' , models . BooleanField ( default = False ) ) ,
( ' wait_min ' , models . IntegerField ( default = 5 ) ) ,
( ' wait_max ' , models . IntegerField ( default = 30 ) ) ,
] ,
options = {
2019-02-16 09:24:31 +00:00
' verbose_name ' : ' Debug Policy ' ,
' verbose_name_plural ' : ' Debug Policys ' ,
2018-12-10 09:49:50 +00:00
} ,
2019-02-16 09:24:31 +00:00
bases = ( ' passbook_core.policy ' , ) ,
2018-12-10 09:49:50 +00:00
) ,
2018-11-11 12:41:48 +00:00
migrations . CreateModel (
2019-02-16 09:24:31 +00:00
name = ' Factor ' ,
2018-11-11 12:41:48 +00:00
fields = [
2019-02-16 09:24:31 +00:00
( ' policymodel_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' passbook_core.PolicyModel ' ) ) ,
( ' name ' , models . TextField ( ) ) ,
( ' slug ' , models . SlugField ( unique = True ) ) ,
( ' order ' , models . IntegerField ( ) ) ,
( ' type ' , models . TextField ( unique = True ) ) ,
( ' enabled ' , models . BooleanField ( default = True ) ) ,
] ,
options = {
' abstract ' : False ,
} ,
bases = ( ' passbook_core.policymodel ' , ) ,
) ,
migrations . CreateModel (
name = ' FieldMatcherPolicy ' ,
fields = [
( ' policy_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' passbook_core.Policy ' ) ) ,
( ' user_field ' , models . TextField ( choices = [ ( ' username ' , ' Username ' ) , ( ' first_name ' , ' First Name ' ) , ( ' last_name ' , ' Last Name ' ) , ( ' email ' , ' E-Mail ' ) , ( ' is_staff ' , ' Is staff ' ) , ( ' is_active ' , ' Is active ' ) , ( ' data_joined ' , ' Date joined ' ) ] ) ) ,
2018-12-10 09:49:50 +00:00
( ' match_action ' , models . CharField ( choices = [ ( ' startswith ' , ' Starts with ' ) , ( ' endswith ' , ' Ends with ' ) , ( ' endswith ' , ' Contains ' ) , ( ' regexp ' , ' Regexp ' ) , ( ' exact ' , ' Exact ' ) ] , max_length = 50 ) ) ,
2018-11-11 12:41:48 +00:00
( ' value ' , models . TextField ( ) ) ,
] ,
options = {
2019-02-16 09:24:31 +00:00
' verbose_name ' : ' Field matcher Policy ' ,
' verbose_name_plural ' : ' Field matcher Policys ' ,
} ,
bases = ( ' passbook_core.policy ' , ) ,
) ,
migrations . CreateModel (
name = ' PasswordPolicyPolicy ' ,
fields = [
( ' policy_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' passbook_core.Policy ' ) ) ,
( ' amount_uppercase ' , models . IntegerField ( default = 0 ) ) ,
( ' amount_lowercase ' , models . IntegerField ( default = 0 ) ) ,
( ' amount_symbols ' , models . IntegerField ( default = 0 ) ) ,
( ' length_min ' , models . IntegerField ( default = 0 ) ) ,
( ' symbol_charset ' , models . TextField ( default = ' ! \\ " #$ % & \' ()*+,-./:;<=>?@[ \\ ]^_` { |}~ ' ) ) ,
] ,
options = {
' verbose_name ' : ' Password Policy Policy ' ,
' verbose_name_plural ' : ' Password Policy Policys ' ,
2018-11-11 12:41:48 +00:00
} ,
2019-02-16 09:24:31 +00:00
bases = ( ' passbook_core.policy ' , ) ,
2018-11-11 12:41:48 +00:00
) ,
2018-11-22 12:12:07 +00:00
migrations . CreateModel (
name = ' Source ' ,
fields = [
2019-02-16 09:24:31 +00:00
( ' policymodel_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' passbook_core.PolicyModel ' ) ) ,
2018-11-22 12:12:07 +00:00
( ' name ' , models . TextField ( ) ) ,
( ' slug ' , models . SlugField ( ) ) ,
( ' enabled ' , models . BooleanField ( default = True ) ) ,
] ,
options = {
' abstract ' : False ,
} ,
2019-02-16 09:24:31 +00:00
bases = ( ' passbook_core.policymodel ' , ) ,
2018-11-22 12:12:07 +00:00
) ,
2018-12-10 09:49:50 +00:00
migrations . CreateModel (
2019-02-16 09:24:31 +00:00
name = ' WebhookPolicy ' ,
2018-12-10 09:49:50 +00:00
fields = [
2019-02-16 09:24:31 +00:00
( ' policy_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' passbook_core.Policy ' ) ) ,
2018-12-10 09:49:50 +00:00
( ' url ' , models . URLField ( ) ) ,
( ' method ' , models . CharField ( choices = [ ( ' GET ' , ' GET ' ) , ( ' POST ' , ' POST ' ) , ( ' PATCH ' , ' PATCH ' ) , ( ' DELETE ' , ' DELETE ' ) , ( ' PUT ' , ' PUT ' ) ] , max_length = 10 ) ) ,
( ' json_body ' , models . TextField ( ) ) ,
( ' json_headers ' , models . TextField ( ) ) ,
( ' result_jsonpath ' , models . TextField ( ) ) ,
( ' result_json_value ' , models . TextField ( ) ) ,
] ,
options = {
2019-02-16 09:24:31 +00:00
' verbose_name ' : ' Webhook Policy ' ,
' verbose_name_plural ' : ' Webhook Policys ' ,
2018-12-10 09:49:50 +00:00
} ,
2019-02-16 09:24:31 +00:00
bases = ( ' passbook_core.policy ' , ) ,
2018-12-10 09:49:50 +00:00
) ,
2018-11-11 12:41:48 +00:00
migrations . AddField (
2019-02-16 09:24:31 +00:00
model_name = ' policymodel ' ,
name = ' policies ' ,
field = models . ManyToManyField ( blank = True , to = ' passbook_core.Policy ' ) ,
2018-11-11 12:41:48 +00:00
) ,
2019-02-08 13:57:59 +00:00
migrations . AddField (
model_name = ' user ' ,
name = ' groups ' ,
field = models . ManyToManyField ( to = ' passbook_core.Group ' ) ,
) ,
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 ' ) ,
) ,
2018-11-16 10:41:14 +00:00
migrations . AddField (
2018-11-22 12:12:07 +00:00
model_name = ' usersourceconnection ' ,
name = ' source ' ,
field = models . ForeignKey ( on_delete = django . db . models . deletion . CASCADE , to = ' passbook_core.Source ' ) ,
2018-11-16 10:41:14 +00:00
) ,
2019-02-08 13:57:59 +00:00
migrations . AlterUniqueTogether (
name = ' group ' ,
unique_together = { ( ' name ' , ' parent ' ) } ,
) ,
2018-11-16 10:41:14 +00:00
migrations . AddField (
model_name = ' user ' ,
name = ' applications ' ,
field = models . ManyToManyField ( to = ' passbook_core.Application ' ) ,
) ,
2018-11-11 12:41:48 +00:00
migrations . AddField (
model_name = ' user ' ,
name = ' sources ' ,
field = models . ManyToManyField ( through = ' passbook_core.UserSourceConnection ' , to = ' passbook_core.Source ' ) ,
) ,
migrations . AlterUniqueTogether (
name = ' usersourceconnection ' ,
unique_together = { ( ' user ' , ' source ' ) } ,
) ,
]