text: # Generated by Django 2.1.15 on 2020-02-22 20:34
  
  import django.db.models.deletion
  import jsonfield.fields
  from django.db import migrations, models
  
  import generic_serializer.serializable_model
  
  
  class Migration(migrations.Migration):
      dependencies = [
          ('test_app', '0001_initial'),
      ]
  
      operations = [
          migrations.CreateModel(
              name='DataProvider',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('icon_image_url', models.URLField(blank=True, null=True)),
                  ('provider_name', models.TextField(unique=True)),
                  ('provider_url', models.URLField(blank=True, null=True)),
                  ('api_endpoint', models.TextField(blank=True, null=True)),
              ],
              bases=(models.Model, generic_serializer.serializable_model.SerializableModel),
          ),
          migrations.CreateModel(
              name='Endpoint',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('endpoint_name', models.TextField()),
                  ('endpoint_url', models.TextField()),
                  ('request_type', models.CharField(
                      choices=[('GET', 'GET'), ('POST', 'POST'), ('PUT', 'PUT'), ('PATCH', 'PATCH'), ('DELETE', 'DELETE'),
                               ('UPDATE', 'UPDATE')], default='GET', max_length=10)),
                  ('api_type', models.CharField(
                      choices=[('OauthRest', 'OauthRest'), ('OauthGraphql', 'OauthGraphql'), ('TokenRest', 'TokenRest')],
                      default='OauthRest', max_length=15)),
                  ('data_provider',
                   models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='endpoints',
                                     to='test_app.DataProvider')),
              ],
              bases=(models.Model, generic_serializer.serializable_model.SerializableModel),
          ),
          migrations.CreateModel(
              name='HttpConfig',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('header', jsonfield.fields.JSONField(blank=True, null=True)),
                  ('url_encoded_params', jsonfield.fields.JSONField(blank=True, null=True)),
                  ('body_type', models.TextField(blank=True, null=True)),
                  ('body_content', models.TextField(blank=True, null=True)),
                  ('request_type', models.TextField(blank=True, null=True)),
                  ('data_provider',
                   models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='http_config',
                                        to='test_app.DataProvider')),
              ],
              bases=(models.Model, generic_serializer.serializable_model.SerializableModel),
          ),
          migrations.CreateModel(
              name='OauthConfig',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('authorize_url', models.TextField()),
                  ('access_token_url', models.TextField()),
                  ('client_id', models.TextField()),
                  ('client_secret', models.TextField()),
                  ('scope', jsonfield.fields.JSONField()),
                  ('data_provider',
                   models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='oauth_config',
                                        to='test_app.DataProvider')),
              ],
              bases=(models.Model, generic_serializer.serializable_model.SerializableModel),
          ),
      ]
  