71 lines
3.1 KiB
Python
71 lines
3.1 KiB
Python
from openedx.core.lib.hash_utils import create_hash256, short_token
|
|
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
from opaque_keys.edx.django.models import CourseKeyField, UsageKeyField
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='GradedAssignment',
|
|
fields=[
|
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
|
('course_key', CourseKeyField(max_length=255, db_index=True)),
|
|
('usage_key', UsageKeyField(max_length=255, db_index=True)),
|
|
('lis_result_sourcedid', models.CharField(max_length=255, db_index=True)),
|
|
('version_number', models.IntegerField(default=0)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='LtiConsumer',
|
|
fields=[
|
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
|
('consumer_name', models.CharField(unique=True, max_length=255)),
|
|
('consumer_key', models.CharField(default=short_token, unique=True, max_length=32, db_index=True)),
|
|
('consumer_secret', models.CharField(default=create_hash256, unique=True, max_length=32)),
|
|
('instance_guid', models.CharField(max_length=255, unique=True, null=True, blank=True)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='LtiUser',
|
|
fields=[
|
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
|
('lti_user_id', models.CharField(max_length=255)),
|
|
('edx_user', models.OneToOneField(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)),
|
|
('lti_consumer', models.ForeignKey(to='lti_provider.LtiConsumer', on_delete=models.CASCADE)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='OutcomeService',
|
|
fields=[
|
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
|
('lis_outcome_service_url', models.CharField(unique=True, max_length=255)),
|
|
('lti_consumer', models.ForeignKey(to='lti_provider.LtiConsumer', on_delete=models.CASCADE)),
|
|
],
|
|
),
|
|
migrations.AddField(
|
|
model_name='gradedassignment',
|
|
name='outcome_service',
|
|
field=models.ForeignKey(to='lti_provider.OutcomeService', on_delete=models.CASCADE),
|
|
),
|
|
migrations.AddField(
|
|
model_name='gradedassignment',
|
|
name='user',
|
|
field=models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE),
|
|
),
|
|
migrations.AlterUniqueTogether(
|
|
name='ltiuser',
|
|
unique_together={('lti_consumer', 'lti_user_id')},
|
|
),
|
|
migrations.AlterUniqueTogether(
|
|
name='gradedassignment',
|
|
unique_together={('outcome_service', 'lis_result_sourcedid')},
|
|
),
|
|
]
|