diff --git a/gracedb/ligoauth/migrations/0027_add_olib_cert.py b/gracedb/ligoauth/migrations/0027_add_olib_cert.py new file mode 100644 index 0000000000000000000000000000000000000000..23a6f508150f72743aeffc857e089a57805d35a4 --- /dev/null +++ b/gracedb/ligoauth/migrations/0027_add_olib_cert.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-03-26 16:48 +from __future__ import unicode_literals + +from django.db import migrations + +ACCOUNT = { + 'name': 'olib', + 'new_cert': '/DC=org/DC=cilogon/C=US/O=LIGO/OU=Robots/CN=ldas-pcdev5.ligo.caltech.edu/CN=LIB/CN=Salvatore Vitale/CN=UID:salvatore.vitale.robot/', +} + + +def add_cert(apps, schema_editor): + RobotUser = apps.get_model('ligoauth', 'RobotUser') + + # Get user + user = RobotUser.objects.get(username=ACCOUNT['name']) + + # Create new certificate + user.x509cert_set.create(subject=ACCOUNT['new_cert']) + + +def delete_cert(apps, schema_editor): + RobotUser = apps.get_model('ligoauth', 'RobotUser') + + # Get user + user = RobotUser.objects.get(username=ACCOUNT['name']) + + # Delete new certificate + cert = user.x509cert_set.get(subject=ACCOUNT['new_cert']) + cert.delete() + + +class Migration(migrations.Migration): + + dependencies = [ + ('ligoauth', '0026_update_hinj_acct_and_certs'), + ] + + operations = [ + migrations.RunPython(add_cert, delete_cert), + ]