Skip to content

Commit d18d019

Browse files
committed
Patch AoC tables to use the Discord user as PK.
1 parent b93dce5 commit d18d019

File tree

4 files changed

+16
-14
lines changed

4 files changed

+16
-14
lines changed

pydis_site/apps/api/migrations/0080_add_aoc_tables.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,19 @@ class Migration(migrations.Migration):
1313

1414
operations = [
1515
migrations.CreateModel(
16-
name='AocCompletionistBlock',
16+
name='AocAccountLink',
1717
fields=[
18-
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
19-
('is_blocked', models.BooleanField(default=True, help_text='Whether this user is actively being blocked from getting the AoC Completionist Role', verbose_name='Blocked')),
20-
('reason', models.TextField(help_text='The reason for the AoC Completionist Role Block.', null=True)),
21-
('user', models.OneToOneField(help_text='The user that is blocked from getting the AoC Completionist Role', on_delete=django.db.models.deletion.CASCADE, to='api.user')),
18+
('user', models.OneToOneField(help_text='The user that is blocked from getting the AoC Completionist Role', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='api.user')),
19+
('aoc_username', models.CharField(help_text='The AoC username associated with the Discord User.', max_length=120)),
2220
],
2321
bases=(pydis_site.apps.api.models.mixins.ModelReprMixin, models.Model),
2422
),
2523
migrations.CreateModel(
26-
name='AocAccountLink',
24+
name='AocCompletionistBlock',
2725
fields=[
28-
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
29-
('aoc_username', models.CharField(help_text='The AoC username associated with the Discord User.', max_length=120)),
30-
('user', models.OneToOneField(help_text='The user that is blocked from getting the AoC Completionist Role', on_delete=django.db.models.deletion.CASCADE, to='api.user')),
26+
('user', models.OneToOneField(help_text='The user that is blocked from getting the AoC Completionist Role', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='api.user')),
27+
('is_blocked', models.BooleanField(default=True, help_text='Whether this user is actively being blocked from getting the AoC Completionist Role', verbose_name='Blocked')),
28+
('reason', models.TextField(help_text='The reason for the AoC Completionist Role Block.', null=True)),
3129
],
3230
bases=(pydis_site.apps.api.models.mixins.ModelReprMixin, models.Model),
3331
),

pydis_site/apps/api/models/bot/aoc_completionist_block.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ class AocCompletionistBlock(ModelReprMixin, models.Model):
1010
user = models.OneToOneField(
1111
User,
1212
on_delete=models.CASCADE,
13-
help_text="The user that is blocked from getting the AoC Completionist Role"
13+
help_text="The user that is blocked from getting the AoC Completionist Role",
14+
primary_key=True
1415
)
1516

1617
is_blocked = models.BooleanField(

pydis_site/apps/api/models/bot/aoc_link.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ class AocAccountLink(ModelReprMixin, models.Model):
1010
user = models.OneToOneField(
1111
User,
1212
on_delete=models.CASCADE,
13-
help_text="The user that is blocked from getting the AoC Completionist Role"
13+
help_text="The user that is blocked from getting the AoC Completionist Role",
14+
primary_key=True
1415
)
1516

1617
aoc_username = models.CharField(

pydis_site/apps/api/viewsets/bot/aoc_link.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,21 @@ class AocAccountLinkViewSet(
2424
... {
2525
... "user": 2,
2626
... "aoc_username": "AoCUser1"
27-
... }
27+
... },
28+
... ...
2829
... ]
2930
3031
3132
### GET /bot/aoc-account-links<user__id:int>
3233
Retrieve a AoC account link by User ID
3334
3435
#### Response format
35-
>>>
36+
>>> [
3637
... {
3738
... "user": 2,
3839
... "aoc_username": "AoCUser1"
39-
... }
40+
... },
41+
... ]
4042
4143
#### Status codes
4244
- 200: returned on success

0 commit comments

Comments
 (0)