Пример #1
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('sites', '0002_alter_domain_unique'),
    ]

    operations = [
        migrations.CreateModel(
            name='Domain',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('domain', models.CharField(max_length=100, unique=True, validators=[django.contrib.sites.models._simple_domain_name_validator], verbose_name='domain name')),
                ('name', models.CharField(max_length=50, verbose_name='display name')),
            ],
            options={
                'ordering': ('domain',),
                'verbose_name': 'domain',
                'verbose_name_plural': 'domains',
            },
        ),
        migrations.CreateModel(
            name='Tenant',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True, verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('is_active', models.BooleanField(default=False, help_text='Designates whether this tenant should be treated as active. ', verbose_name='active')),
                ('date_joined', models.DateTimeField(default=django.utils.timezone.now, help_text='When did the user join?', verbose_name='date joined')),
                ('site', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='sites.Site')),
            ],
            options={
                'verbose_name': 'tenant',
                'verbose_name_plural': 'tenants',
            },
        ),
        migrations.AddField(
            model_name='domain',
            name='tenant',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='tenants.Tenant'),
        ),
    ]
Пример #2
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [("auth", "0009_alter_user_last_name_max_length")]

    operations = [
        migrations.CreateModel(
            name="User",
            fields=[
                ("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"),
                ),
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "groups",
                    models.ManyToManyField(
                        blank=True,
                        help_text=
                        "The groups this user belongs to. A user will get all permissions granted to each of their groups.",
                        related_name="user_set",
                        related_query_name="user",
                        to="auth.Group",
                        verbose_name="groups",
                    ),
                ),
                (
                    "user_permissions",
                    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",
                    ),
                ),
            ],
            options={
                "verbose_name": "user",
                "verbose_name_plural": "users",
                "db_table": "user",
            },
            managers=[("objects", marsha.core.managers.UserManager())],
        ),
        migrations.CreateModel(
            name="AudioTrack",
            fields=[
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "language",
                    models.CharField(
                        choices=[("en", "english"), ("fr", "french")],
                        help_text="language of this track",
                        max_length=5,
                        verbose_name="track language",
                    ),
                ),
                (
                    "uploaded_on",
                    models.DateTimeField(
                        blank=True,
                        help_text=
                        "datetime at which the active version of the video was uploaded.",
                        null=True,
                        verbose_name="uploaded on",
                    ),
                ),
                (
                    "state",
                    models.CharField(
                        choices=[
                            ("pending", "pending"),
                            ("processing", "processing"),
                            ("error", "error"),
                            ("ready", "ready"),
                        ],
                        default="pending",
                        help_text=
                        "state of the upload and transcoding pipeline in AWS.",
                        max_length=20,
                        verbose_name="state",
                    ),
                ),
            ],
            options={
                "verbose_name": "audio track",
                "verbose_name_plural": "audio tracks",
                "db_table": "audio_track",
            },
        ),
        migrations.CreateModel(
            name="ConsumerSite",
            fields=[
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        help_text="name of the consumer site",
                        max_length=50,
                        verbose_name="display name",
                    ),
                ),
                (
                    "domain",
                    models.CharField(
                        help_text="base domain allowed for consumer site.",
                        max_length=100,
                        validators=[
                            django.contrib.sites.models.
                            _simple_domain_name_validator
                        ],
                        verbose_name="domain name",
                    ),
                ),
            ],
            options={
                "verbose_name": "consumer site",
                "verbose_name_plural": "consumer sites",
                "db_table": "consumer_site",
            },
        ),
        migrations.CreateModel(
            name="ConsumerSiteAccess",
            fields=[
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "role",
                    models.CharField(
                        choices=[
                            ("administrator", "administrator"),
                            ("instructor", "instructor"),
                            ("student", "student"),
                        ],
                        default="administrator",
                        help_text=
                        "role granted to the user on the consumer site",
                        max_length=20,
                        verbose_name="role",
                    ),
                ),
                (
                    "consumer_site",
                    models.ForeignKey(
                        help_text="consumer site to which the user has access",
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="user_accesses",
                        to="core.ConsumerSite",
                        verbose_name="site",
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        help_text="user with access to the consumer site",
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="consumersite_accesses",
                        to=settings.AUTH_USER_MODEL,
                        verbose_name="user",
                    ),
                ),
            ],
            options={
                "verbose_name": "consumer site access",
                "verbose_name_plural": "consumer site accesses",
                "db_table": "consumersite_access",
            },
        ),
        migrations.CreateModel(
            name="ConsumerSiteOrganization",
            fields=[
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "consumer_site",
                    models.ForeignKey(
                        help_text="consumer site having this organization",
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="organizations_links",
                        to="core.ConsumerSite",
                        verbose_name="site",
                    ),
                ),
            ],
            options={
                "verbose_name": "organization in consumer site",
                "verbose_name_plural": "organizations in consumer sites",
                "db_table": "consumersite_organization",
            },
        ),
        migrations.CreateModel(
            name="LTIPassport",
            fields=[
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "oauth_consumer_key",
                    models.CharField(
                        editable=False,
                        help_text=
                        "oauth consumer key to authenticate an LTI consumer on the LTI provider",
                        max_length=255,
                        unique=True,
                        verbose_name="oauth consumer key",
                    ),
                ),
                (
                    "shared_secret",
                    models.CharField(
                        editable=False,
                        help_text="LTI Shared secret",
                        max_length=255,
                        verbose_name="shared secret",
                    ),
                ),
                (
                    "is_enabled",
                    models.BooleanField(
                        default=True,
                        help_text="whether the passport is enabled",
                        verbose_name="is enabled",
                    ),
                ),
                (
                    "consumer_site",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="lti_passport_scopes",
                        to="core.ConsumerSite",
                    ),
                ),
                (
                    "created_by",
                    models.ForeignKey(
                        blank=True,
                        editable=False,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="lti_passports",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={
                "verbose_name": "LTI passport",
                "verbose_name_plural": "LTI passports",
                "db_table": "lti_passport",
            },
        ),
        migrations.CreateModel(
            name="Organization",
            fields=[
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        help_text="name of the organization",
                        max_length=255,
                        verbose_name="name",
                    ),
                ),
                (
                    "consumer_sites",
                    models.ManyToManyField(
                        help_text=
                        "consumer sites on which this organization is present",
                        related_name="organizations",
                        through="core.ConsumerSiteOrganization",
                        to="core.ConsumerSite",
                        verbose_name="consumer sites",
                    ),
                ),
            ],
            options={
                "verbose_name": "organization",
                "verbose_name_plural": "organizations",
                "db_table": "organization",
            },
        ),
        migrations.CreateModel(
            name="OrganizationAccess",
            fields=[
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "role",
                    models.CharField(
                        choices=[
                            ("administrator", "administrator"),
                            ("instructor", "instructor"),
                            ("student", "student"),
                        ],
                        default="instructor",
                        help_text=
                        "role granted to the user on the consumer site",
                        max_length=20,
                        verbose_name="role",
                    ),
                ),
                (
                    "organization",
                    models.ForeignKey(
                        help_text="organization to which the user has access",
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="user_accesses",
                        to="core.Organization",
                        verbose_name="organization",
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        help_text="user who has access to the organization",
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="organization_accesses",
                        to=settings.AUTH_USER_MODEL,
                        verbose_name="user",
                    ),
                ),
            ],
            options={
                "verbose_name": "organization access",
                "verbose_name_plural": "organization accesses",
                "db_table": "organization_access",
            },
        ),
        migrations.CreateModel(
            name="Playlist",
            fields=[
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "title",
                    models.CharField(
                        help_text="title of the playlist",
                        max_length=255,
                        verbose_name="title",
                    ),
                ),
                (
                    "lti_id",
                    models.CharField(
                        help_text=
                        "ID for synchronization with an external LTI tool",
                        max_length=255,
                        verbose_name="lti id",
                    ),
                ),
                (
                    "is_public",
                    models.BooleanField(
                        default=False,
                        help_text=
                        "if this playlist can be viewed without any access control",
                        verbose_name="is public",
                    ),
                ),
                ("is_portable_to_playlist", models.BooleanField(default=True)),
                ("is_portable_to_consumer_site",
                 models.BooleanField(default=False)),
                (
                    "consumer_site",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="playlists",
                        to="core.ConsumerSite",
                    ),
                ),
                (
                    "created_by",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="created_playlists",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "duplicated_from",
                    models.ForeignKey(
                        blank=True,
                        help_text=
                        "original playlist this one was duplicated from",
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="duplicates",
                        to="core.Playlist",
                        verbose_name="duplicate from",
                    ),
                ),
                (
                    "organization",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="playlists",
                        to="core.Organization",
                    ),
                ),
            ],
            options={
                "verbose_name": "playlist",
                "verbose_name_plural": "playlists",
                "db_table": "playlist",
            },
        ),
        migrations.CreateModel(
            name="PlaylistAccess",
            fields=[
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "role",
                    models.CharField(
                        choices=[
                            ("administrator", "administrator"),
                            ("instructor", "instructor"),
                            ("student", "student"),
                        ],
                        default="instructor",
                        help_text=
                        "role granted to the user on the consumer site",
                        max_length=20,
                        verbose_name="role",
                    ),
                ),
                (
                    "playlist",
                    models.ForeignKey(
                        help_text="playlist to which the user has access",
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="user_accesses",
                        to="core.Playlist",
                        verbose_name="playlist",
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        help_text="user who has access to the playlist",
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="playlist_accesses",
                        to=settings.AUTH_USER_MODEL,
                        verbose_name="user",
                    ),
                ),
            ],
            options={
                "verbose_name": "playlist access",
                "verbose_name_plural": "playlist accesses",
                "db_table": "playlist_access",
            },
        ),
        migrations.CreateModel(
            name="SignTrack",
            fields=[
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "language",
                    models.CharField(
                        choices=[("en", "english"), ("fr", "french")],
                        help_text="language of this track",
                        max_length=5,
                        verbose_name="track language",
                    ),
                ),
                (
                    "uploaded_on",
                    models.DateTimeField(
                        blank=True,
                        help_text=
                        "datetime at which the active version of the video was uploaded.",
                        null=True,
                        verbose_name="uploaded on",
                    ),
                ),
                (
                    "state",
                    models.CharField(
                        choices=[
                            ("pending", "pending"),
                            ("processing", "processing"),
                            ("error", "error"),
                            ("ready", "ready"),
                        ],
                        default="pending",
                        help_text=
                        "state of the upload and transcoding pipeline in AWS.",
                        max_length=20,
                        verbose_name="state",
                    ),
                ),
            ],
            options={
                "verbose_name": "signs language track",
                "verbose_name_plural": "signs language tracks",
                "db_table": "sign_track",
            },
        ),
        migrations.CreateModel(
            name="TimedTextTrack",
            fields=[
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "language",
                    models.CharField(
                        choices=[("en", "english"), ("fr", "french")],
                        help_text="language of this track",
                        max_length=5,
                        verbose_name="track language",
                    ),
                ),
                (
                    "uploaded_on",
                    models.DateTimeField(
                        blank=True,
                        help_text=
                        "datetime at which the active version of the video was uploaded.",
                        null=True,
                        verbose_name="uploaded on",
                    ),
                ),
                (
                    "state",
                    models.CharField(
                        choices=[
                            ("pending", "pending"),
                            ("processing", "processing"),
                            ("error", "error"),
                            ("ready", "ready"),
                        ],
                        default="pending",
                        help_text=
                        "state of the upload and transcoding pipeline in AWS.",
                        max_length=20,
                        verbose_name="state",
                    ),
                ),
                (
                    "mode",
                    models.CharField(
                        choices=[
                            ("st", "Subtitle"),
                            ("ts", "Transcript"),
                            ("cc", "Closed captioning"),
                        ],
                        default="st",
                        help_text=
                        "Activate a special mode for this timed text track: simple subtitles, closed captioning (for deaf or hard of hearing viewers) or transcription (complete text below aside of the player).",
                        max_length=2,
                        verbose_name="mode",
                    ),
                ),
            ],
            options={
                "verbose_name": "timed text track",
                "verbose_name_plural": "timed text tracks",
                "db_table": "timed_text_track",
            },
        ),
        migrations.CreateModel(
            name="Video",
            fields=[
                ("deleted", models.DateTimeField(editable=False, null=True)),
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text="primary key for the record as UUID",
                        primary_key=True,
                        serialize=False,
                        verbose_name="id",
                    ),
                ),
                (
                    "created_on",
                    models.DateTimeField(
                        auto_now_add=True,
                        help_text="date and time at which a record was created",
                        verbose_name="created on",
                    ),
                ),
                (
                    "updated_on",
                    models.DateTimeField(
                        auto_now=True,
                        help_text=
                        "date and time at which a record was last updated",
                        verbose_name="updated on",
                    ),
                ),
                (
                    "title",
                    models.CharField(
                        help_text="title of the video",
                        max_length=255,
                        verbose_name="title",
                    ),
                ),
                (
                    "description",
                    models.TextField(
                        blank=True,
                        help_text="description of the video",
                        null=True,
                        verbose_name="description",
                    ),
                ),
                (
                    "resource_id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        help_text=
                        "UUID to identify the resource in the backend",
                        verbose_name="Resource UUID",
                    ),
                ),
                (
                    "lti_id",
                    models.CharField(
                        help_text=
                        "ID for synchronization with an external LTI tool",
                        max_length=255,
                        verbose_name="lti id",
                    ),
                ),
                (
                    "position",
                    models.PositiveIntegerField(
                        default=0,
                        help_text="position of this video in the playlist",
                        verbose_name="position",
                    ),
                ),
                (
                    "uploaded_on",
                    models.DateTimeField(
                        blank=True,
                        help_text=
                        "datetime at which the active version of the video was uploaded.",
                        null=True,
                        verbose_name="uploaded on",
                    ),
                ),
                (
                    "state",
                    models.CharField(
                        choices=[
                            ("pending", "pending"),
                            ("processing", "processing"),
                            ("error", "error"),
                            ("ready", "ready"),
                        ],
                        default="pending",
                        help_text=
                        "state of the upload and transcoding pipeline in AWS.",
                        max_length=20,
                        verbose_name="state",
                    ),
                ),
                (
                    "created_by",
                    models.ForeignKey(
                        blank=True,
                        help_text="author of the video",
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="created_videos",
                        to=settings.AUTH_USER_MODEL,
                        verbose_name="author",
                    ),
                ),
                (
                    "duplicated_from",
                    models.ForeignKey(
                        blank=True,
                        help_text="original video this one was duplicated from",
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="duplicates",
                        to="core.Video",
                        verbose_name="duplicate from",
                    ),
                ),
                (
                    "playlist",
                    models.ForeignKey(
                        help_text="playlist to which this video belongs",
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="videos",
                        to="core.Playlist",
                        verbose_name="playlist",
                    ),
                ),
            ],
            options={
                "verbose_name": "video",
                "verbose_name_plural": "videos",
                "db_table": "video",
                "ordering": ["position", "id"],
            },
        ),
        migrations.AddField(
            model_name="timedtexttrack",
            name="video",
            field=models.ForeignKey(
                help_text="video for which this track is",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="timedtexttracks",
                to="core.Video",
                verbose_name="video",
            ),
        ),
        migrations.AddField(
            model_name="signtrack",
            name="video",
            field=models.ForeignKey(
                help_text="video for which this track is",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="signtracks",
                to="core.Video",
                verbose_name="video",
            ),
        ),
        migrations.AddField(
            model_name="playlist",
            name="users",
            field=models.ManyToManyField(
                help_text="users who have been granted access to this playlist",
                related_name="playlists",
                through="core.PlaylistAccess",
                to=settings.AUTH_USER_MODEL,
                verbose_name="users",
            ),
        ),
        migrations.AddField(
            model_name="organization",
            name="users",
            field=models.ManyToManyField(
                help_text=
                "users who have been granted access to this organization",
                through="core.OrganizationAccess",
                to=settings.AUTH_USER_MODEL,
                verbose_name="users",
            ),
        ),
        migrations.AddField(
            model_name="ltipassport",
            name="playlist",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="lti_passport_scopes",
                to="core.Playlist",
            ),
        ),
        migrations.AddField(
            model_name="consumersiteorganization",
            name="organization",
            field=models.ForeignKey(
                help_text="organization in this consumer site",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="sites_links",
                to="core.Organization",
                verbose_name="organization",
            ),
        ),
        migrations.AddField(
            model_name="consumersite",
            name="users",
            field=models.ManyToManyField(
                help_text=
                "users who have been granted access to this consumer site",
                through="core.ConsumerSiteAccess",
                to=settings.AUTH_USER_MODEL,
                verbose_name="users",
            ),
        ),
        migrations.AddField(
            model_name="audiotrack",
            name="video",
            field=models.ForeignKey(
                help_text="video for which this track is",
                on_delete=django.db.models.deletion.CASCADE,
                related_name="audiotracks",
                to="core.Video",
                verbose_name="video",
            ),
        ),
        migrations.AddIndex(
            model_name="timedtexttrack",
            index=marsha.core.models.base.NonDeletedUniqueIndex(
                fields=["video", "language", "mode"],
                name="timed_text__video_i_1425f7_idx",
            ),
        ),
        migrations.AddIndex(
            model_name="signtrack",
            index=marsha.core.models.base.NonDeletedUniqueIndex(
                fields=["video", "language"],
                name="sign_track_video_i_8ae92b_idx"),
        ),
        migrations.AddIndex(
            model_name="playlistaccess",
            index=marsha.core.models.base.NonDeletedUniqueIndex(
                fields=["user", "playlist"],
                name="playlist_ac_user_id_c7df1b_idx"),
        ),
        migrations.AddIndex(
            model_name="organizationaccess",
            index=marsha.core.models.base.NonDeletedUniqueIndex(
                fields=["user", "organization"],
                name="organizatio_user_id_d0a5d6_idx"),
        ),
        migrations.AddIndex(
            model_name="consumersiteorganization",
            index=marsha.core.models.base.NonDeletedUniqueIndex(
                fields=["consumer_site", "organization"],
                name="consumersit_consume_89f4d1_idx",
            ),
        ),
        migrations.AddIndex(
            model_name="consumersiteaccess",
            index=marsha.core.models.base.NonDeletedUniqueIndex(
                fields=["user", "consumer_site"],
                name="consumersit_user_id_f9d219_idx"),
        ),
        migrations.AddIndex(
            model_name="audiotrack",
            index=marsha.core.models.base.NonDeletedUniqueIndex(
                fields=["video", "language"],
                name="audio_track_video_i_fe6276_idx"),
        ),
    ]
Пример #3
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('sites', '0002_alter_domain_unique'),
    ]

    operations = [
        migrations.CreateModel(
            name='SiteCustomization',
            fields=[
                ('site', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='sites.site', verbose_name='site')),
                ('is_open_for_signup', models.BooleanField(default=True, verbose_name='is open for signup')),
                ('tagline', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, verbose_name='tagline')),
                ('tagline_fr', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_en', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_de', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_pt', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_es', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_ja', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_ar', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_ar_dz', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_zh_hans', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_br', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('description', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, verbose_name='description')),
                ('description_fr', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_en', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_de', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_pt', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_es', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_ja', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_ar', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_ar_dz', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_zh_hans', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_br', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
            ],
            options={
                'verbose_name': 'site customization',
                'verbose_name_plural': 'site customizations',
                'ordering': ['site'],
            },
        ),
        migrations.CreateModel(
            name='HistoricalSiteCustomization',
            fields=[
                ('is_open_for_signup', models.BooleanField(default=True, verbose_name='is open for signup')),
                ('tagline', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, verbose_name='tagline')),
                ('tagline_fr', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_en', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_de', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_pt', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_es', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_ja', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_ar', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_ar_dz', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_zh_hans', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('tagline_br', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')),
                ('description', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, verbose_name='description')),
                ('description_fr', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_en', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_de', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_pt', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_es', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_ja', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_ar', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_ar_dz', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_zh_hans', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('description_br', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')),
                ('history_id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
                ('site', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='sites.site', verbose_name='site')),
            ],
            options={
                'verbose_name': 'historical site customization',
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.CreateModel(
            name='HistoricalSite',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('domain', models.CharField(db_index=True, max_length=100, validators=[django.contrib.sites.models._simple_domain_name_validator], verbose_name='domain name')),
                ('name', models.CharField(max_length=50, verbose_name='display name')),
                ('history_id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'historical site',
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
    ]
Пример #4
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('sites', '0002_alter_domain_unique'),
        ('pulse', '0005_auto_20180422_1602'),
    ]

    operations = [
        migrations.CreateModel(
            name='MenuItem',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('icon', models.SlugField(blank=True, choices=[('fa fa-home', 'Home'), ('fa fa-pencil-square-o', 'Posts'), ('fa fa-book', 'Notes'), ('fa fa-tags', 'Topics'), ('fa fa-code-fork', 'Channels'), ('fa fa-file-image-o', 'Media'), ('fa fa-cogs', 'Gears')], max_length=510)),
                ('title', models.CharField(default='Untitled', max_length=510)),
                ('description', models.CharField(blank=True, help_text='Optional subtitle', max_length=510)),
                ('slug', models.SlugField(blank=True, max_length=510)),
                ('url', models.CharField(blank=True, max_length=510)),
                ('weight', models.IntegerField(default=0)),
                ('date_created', models.DateTimeField(auto_now_add=True)),
                ('date_updated', models.DateTimeField(auto_now=True)),
                ('page', models.ForeignKey(blank=True, default=replica.pulse.models.DefaultEntry, null=True, on_delete=django.db.models.deletion.SET_DEFAULT, to='pulse.Entry')),
            ],
            options={
                'verbose_name': 'Menu Item',
                'verbose_name_plural': 'Menu Items',
                'db_table': 'r_MenuItem',
                'ordering': ('weight',),
            },
        ),
        migrations.CreateModel(
            name='MenuPosition',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('title', models.CharField(default='Untitled', max_length=510)),
                ('slug', models.SlugField(max_length=510)),
                ('date_created', models.DateTimeField(auto_now_add=True)),
                ('date_updated', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Menu',
                'verbose_name_plural': 'Menus',
                'db_table': 'r_MenuPosition',
                'ordering': ('-title',),
            },
        ),
        migrations.CreateModel(
            name='Plugin',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('name', models.CharField(blank=True, max_length=510)),
                ('slug', models.SlugField(max_length=510)),
                ('author', models.CharField(blank=True, max_length=510)),
                ('is_enabled', models.BooleanField(choices=[(True, 'Enabled'), (False, 'Disabled')], default=True, help_text='Check to enable plugin')),
                ('date_created', models.DateTimeField(auto_now_add=True)),
                ('date_updated', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Plugin',
                'verbose_name_plural': 'Plugins',
                'db_table': 'r_Plugin',
                'ordering': ('slug', 'date_updated'),
            },
        ),
        migrations.CreateModel(
            name='SiteSettings',
            fields=[
                ('site_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='sites.Site')),
                ('is_enabled', models.BooleanField(choices=[(True, 'Enabled'), (False, 'Disabled')], default=True, help_text='Is site enabled?')),
                ('password', models.CharField(blank=True, max_length=128)),
                ('secret_token', models.CharField(blank=True, max_length=12)),
                ('view_settings', models.TextField(default='{}')),
                ('author', models.CharField(blank=True, max_length=510)),
                ('description', models.TextField(blank=True, help_text='Site Description', null=True)),
                ('summary', models.TextField(blank=True, help_text='Summary')),
                ('summary_html', models.TextField(blank=True, editable=False)),
                ('date_created', models.DateTimeField(auto_now_add=True)),
                ('date_updated', models.DateTimeField(auto_now=True)),
                ('featured', models.ForeignKey(blank=True, help_text='Featured Image', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='featured', to='pulse.Media')),
                ('logo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='logo', to='pulse.Media')),
            ],
            options={
                'verbose_name': 'Site Settings',
                'verbose_name_plural': 'Site Settings',
                'db_table': 'r_SiteSettings',
            },
            bases=('sites.site',),
            managers=[
                ('objects', django.contrib.sites.models.SiteManager()),
            ],
        ),
        migrations.AddField(
            model_name='menuitem',
            name='position',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cms.MenuPosition'),
        ),
    ]
Пример #5
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ("sites", "0002_alter_domain_unique"),
        ("raiden", "0001_initial"),
        ("blockchain", "0001_initial"),
        ("ethereum_money", "0001_initial"),
        migrations.swappable_dependency(settings.ETHEREUM_ACCOUNT_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name="Payment",
            fields=[
                (
                    "amount",
                    hub20.apps.ethereum_money.models.EthereumTokenAmountField(
                        decimal_places=18, max_digits=32
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="created"
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="modified"
                    ),
                ),
                ("id", models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
                (
                    "currency",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.PROTECT,
                        to="ethereum_money.EthereumToken",
                    ),
                ),
            ],
            options={"abstract": False,},
        ),
        migrations.CreateModel(
            name="PaymentOrder",
            fields=[
                (
                    "amount",
                    hub20.apps.ethereum_money.models.EthereumTokenAmountField(
                        decimal_places=18, max_digits=32
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="created"
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="modified"
                    ),
                ),
                ("id", models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
                (
                    "chain",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE, to="blockchain.Chain"
                    ),
                ),
                (
                    "currency",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.PROTECT,
                        to="ethereum_money.EthereumToken",
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL
                    ),
                ),
            ],
            options={"abstract": False,},
        ),
        migrations.CreateModel(
            name="PaymentRoute",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="created"
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="modified"
                    ),
                ),
                (
                    "order",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="routes",
                        to="core.PaymentOrder",
                    ),
                ),
            ],
            options={"abstract": False,},
        ),
        migrations.CreateModel(
            name="Store",
            fields=[
                ("id", models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
                ("name", models.CharField(max_length=300)),
                ("url", models.URLField()),
                ("accepted_currencies", models.ManyToManyField(to="ethereum_money.EthereumToken")),
                (
                    "owner",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="Transfer",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                (
                    "amount",
                    hub20.apps.ethereum_money.models.EthereumTokenAmountField(
                        decimal_places=18, max_digits=32
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="created"
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="modified"
                    ),
                ),
                ("memo", models.TextField(blank=True, null=True)),
                ("identifier", models.CharField(blank=True, max_length=300, null=True)),
                (
                    "currency",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.PROTECT,
                        to="ethereum_money.EthereumToken",
                    ),
                ),
                (
                    "sender",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="transfers_sent",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={"abstract": False,},
        ),
        migrations.CreateModel(
            name="UserBalanceEntry",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                (
                    "amount",
                    hub20.apps.ethereum_money.models.EthereumTokenAmountField(
                        decimal_places=18, max_digits=32
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="created"
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="modified"
                    ),
                ),
                (
                    "currency",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.PROTECT,
                        to="ethereum_money.EthereumToken",
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="balance_entries",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={"abstract": False,},
        ),
        migrations.CreateModel(
            name="UserReserve",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                (
                    "amount",
                    hub20.apps.ethereum_money.models.EthereumTokenAmountField(
                        decimal_places=18, max_digits=32
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="created"
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="modified"
                    ),
                ),
                (
                    "currency",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.PROTECT,
                        to="ethereum_money.EthereumToken",
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="reserves",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={"abstract": False,},
        ),
        migrations.CreateModel(
            name="HubSite",
            fields=[],
            options={"proxy": True, "indexes": [], "constraints": [],},
            bases=("sites.site",),
            managers=[("objects", django.contrib.sites.models.SiteManager()),],
        ),
        migrations.CreateModel(
            name="ExternalTransfer",
            fields=[
                (
                    "transfer_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="core.Transfer",
                    ),
                ),
                (
                    "recipient_address",
                    hub20.apps.blockchain.fields.EthereumAddressField(db_index=True),
                ),
            ],
            options={"abstract": False,},
            bases=("core.transfer",),
        ),
        migrations.CreateModel(
            name="InternalPayment",
            fields=[
                (
                    "payment_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="core.Payment",
                    ),
                ),
                ("memo", models.TextField(blank=True, null=True)),
            ],
            options={"abstract": False,},
            bases=("core.payment",),
        ),
        migrations.CreateModel(
            name="InternalPaymentRoute",
            fields=[
                (
                    "paymentroute_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="core.PaymentRoute",
                    ),
                ),
            ],
            options={"abstract": False,},
            bases=("core.paymentroute",),
        ),
        migrations.CreateModel(
            name="StoreRSAKeyPair",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                ("public_key_pem", models.TextField()),
                ("private_key_pem", models.TextField()),
                (
                    "store",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="rsa",
                        to="core.Store",
                    ),
                ),
            ],
        ),
        migrations.AddField(
            model_name="payment",
            name="route",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.PROTECT, to="core.PaymentRoute"
            ),
        ),
        migrations.CreateModel(
            name="BlockchainTransaction",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="created"
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="modified"
                    ),
                ),
                (
                    "transaction_hash",
                    hub20.apps.blockchain.fields.HexField(
                        db_index=True, max_length=64, unique=True
                    ),
                ),
                (
                    "transfer",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="chain_transaction",
                        to="core.Transfer",
                    ),
                ),
            ],
            options={"abstract": False,},
        ),
        migrations.CreateModel(
            name="UserTransferReserve",
            fields=[
                (
                    "userreserve_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="core.UserReserve",
                    ),
                ),
                (
                    "transfer",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="reserve",
                        to="core.Transfer",
                    ),
                ),
            ],
            options={"abstract": False,},
            bases=("core.userreserve",),
        ),
        migrations.CreateModel(
            name="TransferEvent",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="created"
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="modified"
                    ),
                ),
                (
                    "status",
                    model_utils.fields.StatusField(
                        choices=[
                            ("scheduled", "scheduled"),
                            ("failed", "failed"),
                            ("canceled", "canceled"),
                            ("executed", "executed"),
                            ("confirmed", "confirmed"),
                        ],
                        default="scheduled",
                        max_length=100,
                        no_check_for_status=True,
                        verbose_name="status",
                    ),
                ),
                (
                    "status_changed",
                    model_utils.fields.MonitorField(
                        default=django.utils.timezone.now,
                        monitor="status",
                        verbose_name="status changed",
                    ),
                ),
                (
                    "transfer",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="events",
                        to="core.Transfer",
                    ),
                ),
            ],
            options={"get_latest_by": "created", "unique_together": {("transfer", "status")},},
        ),
        migrations.CreateModel(
            name="RaidenTransaction",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="created"
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now, editable=False, verbose_name="modified"
                    ),
                ),
                ("identifier", models.PositiveIntegerField()),
                (
                    "channel",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE, to="raiden.Channel"
                    ),
                ),
                (
                    "transfer",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="raiden_transaction",
                        to="core.Transfer",
                    ),
                ),
            ],
            options={"unique_together": {("channel", "identifier")},},
        ),
        migrations.CreateModel(
            name="RaidenPayment",
            fields=[
                (
                    "payment_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="core.Payment",
                    ),
                ),
                (
                    "payment",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE, to="raiden.Payment"
                    ),
                ),
            ],
            options={"abstract": False,},
            bases=("core.payment",),
        ),
        migrations.CreateModel(
            name="PaymentCredit",
            fields=[
                (
                    "userbalanceentry_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="core.UserBalanceEntry",
                    ),
                ),
                (
                    "payment",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="credit",
                        to="core.Payment",
                    ),
                ),
            ],
            options={"abstract": False,},
            bases=("core.userbalanceentry",),
        ),
        migrations.CreateModel(
            name="InternalTransfer",
            fields=[
                (
                    "transfer_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="core.Transfer",
                    ),
                ),
                (
                    "receiver",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="transfers_received",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={"abstract": False,},
            bases=("core.transfer",),
        ),
        migrations.CreateModel(
            name="Checkout",
            fields=[
                (
                    "paymentorder_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="core.PaymentOrder",
                    ),
                ),
                ("external_identifier", models.TextField()),
                ("requester_ip", models.GenericIPAddressField(null=True)),
                (
                    "store",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE, to="core.Store"
                    ),
                ),
            ],
            options={"abstract": False,},
            bases=("core.paymentorder",),
        ),
        migrations.CreateModel(
            name="BlockchainPaymentRoute",
            fields=[
                (
                    "paymentroute_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="core.PaymentRoute",
                    ),
                ),
                (
                    "payment_window",
                    django.contrib.postgres.fields.ranges.IntegerRangeField(
                        default=hub20.apps.core.models.payments.calculate_blockchain_payment_window
                    ),
                ),
                (
                    "account",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="payment_routes",
                        to=settings.ETHEREUM_ACCOUNT_MODEL,
                    ),
                ),
            ],
            options={"abstract": False,},
            bases=("core.paymentroute",),
        ),
        migrations.CreateModel(
            name="BlockchainPayment",
            fields=[
                (
                    "payment_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="core.Payment",
                    ),
                ),
                (
                    "transaction",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE, to="blockchain.Transaction"
                    ),
                ),
            ],
            options={"abstract": False,},
            bases=("core.payment",),
        ),
        migrations.CreateModel(
            name="RaidenPaymentRoute",
            fields=[
                (
                    "paymentroute_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="core.PaymentRoute",
                    ),
                ),
                (
                    "payment_window",
                    models.DurationField(
                        default=hub20.apps.core.models.payments.calculate_raiden_payment_window
                    ),
                ),
                (
                    "identifier",
                    models.BigIntegerField(
                        default=hub20.apps.core.models.payments.generate_payment_order_id,
                        unique=True,
                    ),
                ),
                (
                    "raiden",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="payment_routes",
                        to="raiden.Raiden",
                    ),
                ),
            ],
            options={"unique_together": {("raiden", "identifier")},},
            bases=("core.paymentroute",),
        ),
    ]
Пример #6
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('blockchain', '0001_initial'),
        ('ethereum_money', '0001_initial'),
        ('raiden', '0001_initial'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('sites', '0002_alter_domain_unique'),
    ]

    operations = [
        migrations.CreateModel(
            name='PaymentOrder',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('amount',
                 hub20.apps.ethereum_money.models.EthereumTokenAmountField(
                     decimal_places=18, max_digits=32)),
                ('created',
                 model_utils.fields.AutoCreatedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='created')),
                ('modified',
                 model_utils.fields.AutoLastModifiedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='modified')),
                ('currency',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   to='ethereum_money.EthereumToken')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Store',
            fields=[
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  primary_key=True,
                                  serialize=False)),
                ('name', models.CharField(max_length=300)),
                ('url', models.URLField()),
                ('accepted_currencies',
                 models.ManyToManyField(to='ethereum_money.EthereumToken')),
                ('owner',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Transfer',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('amount',
                 hub20.apps.ethereum_money.models.EthereumTokenAmountField(
                     decimal_places=18, max_digits=32)),
                ('created',
                 model_utils.fields.AutoCreatedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='created')),
                ('modified',
                 model_utils.fields.AutoLastModifiedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='modified')),
                ('memo', models.TextField(blank=True, null=True)),
                ('identifier',
                 models.CharField(blank=True, max_length=300, null=True)),
                ('currency',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   to='ethereum_money.EthereumToken')),
                ('sender',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   related_name='transfers_sent',
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='UserReserve',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('amount',
                 hub20.apps.ethereum_money.models.EthereumTokenAmountField(
                     decimal_places=18, max_digits=32)),
                ('created',
                 model_utils.fields.AutoCreatedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='created')),
                ('modified',
                 model_utils.fields.AutoLastModifiedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='modified')),
                ('currency',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   to='ethereum_money.EthereumToken')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='reserves',
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='HubSite',
            fields=[],
            options={
                'proxy': True,
                'indexes': [],
                'constraints': [],
            },
            bases=('sites.site', ),
            managers=[
                ('objects', django.contrib.sites.models.SiteManager()),
            ],
        ),
        migrations.CreateModel(
            name='ExternalTransfer',
            fields=[
                ('transfer_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='core.Transfer')),
                ('recipient_address',
                 hub20.apps.blockchain.fields.EthereumAddressField(
                     db_index=True)),
            ],
            options={
                'abstract': False,
            },
            bases=('core.transfer', ),
        ),
        migrations.CreateModel(
            name='Wallet',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('account',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     to='ethereum_money.EthereumAccount')),
            ],
        ),
        migrations.CreateModel(
            name='UserBalanceEntry',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('amount',
                 hub20.apps.ethereum_money.models.EthereumTokenAmountField(
                     decimal_places=18, max_digits=32)),
                ('created',
                 model_utils.fields.AutoCreatedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='created')),
                ('modified',
                 model_utils.fields.AutoLastModifiedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='modified')),
                ('currency',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   to='ethereum_money.EthereumToken')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='balance_entries',
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='StoreRSAKeyPair',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('public_key_pem', models.TextField()),
                ('private_key_pem', models.TextField()),
                ('store',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='rsa',
                     to='core.Store')),
            ],
        ),
        migrations.CreateModel(
            name='PaymentOrderMethod',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created',
                 model_utils.fields.AutoCreatedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='created')),
                ('modified',
                 model_utils.fields.AutoLastModifiedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='modified')),
                ('expiration_time', models.DateTimeField()),
                ('identifier',
                 models.BigIntegerField(default=hub20.apps.core.models.
                                        payments.generate_payment_order_id,
                                        unique=True)),
                ('order',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='payment_method',
                     to='core.PaymentOrder')),
                ('raiden',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='raiden.Raiden')),
                ('wallet',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     to='core.Wallet')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Payment',
            fields=[
                ('amount',
                 hub20.apps.ethereum_money.models.EthereumTokenAmountField(
                     decimal_places=18, max_digits=32)),
                ('created',
                 model_utils.fields.AutoCreatedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='created')),
                ('modified',
                 model_utils.fields.AutoLastModifiedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='modified')),
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  primary_key=True,
                                  serialize=False)),
                ('currency',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   to='ethereum_money.EthereumToken')),
                ('order',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   to='core.PaymentOrder')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Checkout',
            fields=[
                ('created',
                 model_utils.fields.AutoCreatedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='created')),
                ('modified',
                 model_utils.fields.AutoLastModifiedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='modified')),
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  primary_key=True,
                                  serialize=False)),
                ('external_identifier', models.TextField()),
                ('requester_ip', models.GenericIPAddressField(null=True)),
                ('payment_order',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='core.PaymentOrder')),
                ('store',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='core.Store')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='BlockchainTransaction',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created',
                 model_utils.fields.AutoCreatedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='created')),
                ('modified',
                 model_utils.fields.AutoLastModifiedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='modified')),
                ('transaction_hash',
                 hub20.apps.blockchain.fields.HexField(db_index=True,
                                                       max_length=64,
                                                       unique=True)),
                ('transfer',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='chain_transaction',
                     to='core.Transfer')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='UserTransferReserve',
            fields=[
                ('userreserve_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='core.UserReserve')),
                ('transfer',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='reserve',
                     to='core.Transfer')),
            ],
            options={
                'abstract': False,
            },
            bases=('core.userreserve', ),
        ),
        migrations.CreateModel(
            name='TransferEvent',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created',
                 model_utils.fields.AutoCreatedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='created')),
                ('modified',
                 model_utils.fields.AutoLastModifiedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='modified')),
                ('status',
                 model_utils.fields.StatusField(choices=[
                     ('scheduled', 'scheduled'), ('failed', 'failed'),
                     ('canceled', 'canceled'), ('executed', 'executed'),
                     ('confirmed', 'confirmed')
                 ],
                                                default='scheduled',
                                                max_length=100,
                                                no_check_for_status=True,
                                                verbose_name='status')),
                ('status_changed',
                 model_utils.fields.MonitorField(
                     default=django.utils.timezone.now,
                     monitor='status',
                     verbose_name='status changed')),
                ('transfer',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='events',
                                   to='core.Transfer')),
            ],
            options={
                'get_latest_by': 'created',
                'unique_together': {('transfer', 'status')},
            },
        ),
        migrations.CreateModel(
            name='RaidenTransaction',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created',
                 model_utils.fields.AutoCreatedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='created')),
                ('modified',
                 model_utils.fields.AutoLastModifiedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='modified')),
                ('identifier', models.PositiveIntegerField()),
                ('channel',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='raiden.Channel')),
                ('transfer',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='raiden_transaction',
                     to='core.Transfer')),
            ],
            options={
                'unique_together': {('channel', 'identifier')},
            },
        ),
        migrations.CreateModel(
            name='RaidenPayment',
            fields=[
                ('payment_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='core.Payment')),
                ('payment',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.PROTECT,
                     to='raiden.Payment')),
            ],
            options={
                'abstract': False,
            },
            bases=('core.payment', ),
        ),
        migrations.CreateModel(
            name='PaymentOrderEvent',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created',
                 model_utils.fields.AutoCreatedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='created')),
                ('modified',
                 model_utils.fields.AutoLastModifiedField(
                     default=django.utils.timezone.now,
                     editable=False,
                     verbose_name='modified')),
                ('status',
                 model_utils.fields.StatusField(choices=[
                     ('requested', 'requested'), ('partial', 'partial'),
                     ('received', 'received'), ('confirmed', 'confirmed'),
                     ('expired', 'expired'), ('canceled', 'canceled'),
                     ('voided', 'voided')
                 ],
                                                default='requested',
                                                max_length=100,
                                                no_check_for_status=True,
                                                verbose_name='status')),
                ('status_changed',
                 model_utils.fields.MonitorField(
                     default=django.utils.timezone.now,
                     monitor='status',
                     verbose_name='status changed')),
                ('order',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   related_name='events',
                                   to='core.PaymentOrder')),
            ],
            options={
                'get_latest_by': 'created',
                'unique_together': {('order', 'status')},
            },
        ),
        migrations.CreateModel(
            name='InternalTransfer',
            fields=[
                ('transfer_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='core.Transfer')),
                ('receiver',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   related_name='transfers_received',
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
            bases=('core.transfer', ),
        ),
        migrations.CreateModel(
            name='InternalPayment',
            fields=[
                ('payment_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='core.Payment')),
                ('memo', models.TextField(blank=True, null=True)),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
            bases=('core.payment', ),
        ),
        migrations.CreateModel(
            name='BlockchainPayment',
            fields=[
                ('payment_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='core.Payment')),
                ('transaction',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     to='blockchain.Transaction')),
            ],
            options={
                'abstract': False,
            },
            bases=('core.payment', ),
        ),
    ]