From 0c8158905b5d8b9610ba40a90636f0da07507b79 Mon Sep 17 00:00:00 2001
From: Tanner Prestegard <tanner.prestegard@ligo.org>
Date: Tue, 26 Mar 2019 10:56:57 -0500
Subject: [PATCH] Add new robot certificate for oLIB

---
 .../ligoauth/migrations/0027_add_olib_cert.py | 42 +++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 gracedb/ligoauth/migrations/0027_add_olib_cert.py

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 000000000..23a6f5081
--- /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),
+    ]
-- 
GitLab