| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import json
- from django.db import migrations, models
- def json_to_text(apps, schema_editor):
- """
- Convert a JSON representation of HTTP headers to key-value pairs (one header per line)
- """
- Webhook = apps.get_model('extras', 'Webhook')
- for webhook in Webhook.objects.exclude(additional_headers=''):
- data = json.loads(webhook.additional_headers)
- headers = ['{}: {}'.format(k, v) for k, v in data.items()]
- Webhook.objects.filter(pk=webhook.pk).update(additional_headers='\n'.join(headers))
- class Migration(migrations.Migration):
- dependencies = [
- ('extras', '0037_configcontexts_clusters'),
- ]
- operations = [
- migrations.AddField(
- model_name='webhook',
- name='http_method',
- field=models.CharField(default='POST', max_length=30),
- ),
- migrations.AddField(
- model_name='webhook',
- name='body_template',
- field=models.TextField(blank=True),
- ),
- migrations.AlterField(
- model_name='webhook',
- name='additional_headers',
- field=models.TextField(blank=True, default=''),
- preserve_default=False,
- ),
- migrations.AlterField(
- model_name='webhook',
- name='http_content_type',
- field=models.CharField(default='application/json', max_length=100),
- ),
- migrations.RunPython(
- code=json_to_text
- ),
- ]
|