From 2f6d3ae18002715f0ccead21ac155adb29d2ae2a Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Tue, 3 Apr 2018 18:35:08 +0200
Subject: [PATCH] Ensure unicity on actor username and domain

---
 .../migrations/0002_auto_20180403_1620.py       | 17 +++++++++++++++++
 api/funkwhale_api/federation/models.py          |  3 +++
 2 files changed, 20 insertions(+)
 create mode 100644 api/funkwhale_api/federation/migrations/0002_auto_20180403_1620.py

diff --git a/api/funkwhale_api/federation/migrations/0002_auto_20180403_1620.py b/api/funkwhale_api/federation/migrations/0002_auto_20180403_1620.py
new file mode 100644
index 00000000..2200424d
--- /dev/null
+++ b/api/funkwhale_api/federation/migrations/0002_auto_20180403_1620.py
@@ -0,0 +1,17 @@
+# Generated by Django 2.0.3 on 2018-04-03 16:20
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('federation', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.AlterUniqueTogether(
+            name='actor',
+            unique_together={('domain', 'preferred_username')},
+        ),
+    ]
diff --git a/api/funkwhale_api/federation/models.py b/api/funkwhale_api/federation/models.py
index 35ddce96..414bcc50 100644
--- a/api/funkwhale_api/federation/models.py
+++ b/api/funkwhale_api/federation/models.py
@@ -32,6 +32,9 @@ class Actor(models.Model):
         default=timezone.now)
     manually_approves_followers = models.NullBooleanField(default=None)
 
+    class Meta:
+        unique_together = ['domain', 'preferred_username']
+
     @property
     def webfinger_subject(self):
         return '{}@{}'.format(
-- 
GitLab