mirror of
https://git.linux-kernel.at/oliver/ivatar.git
synced 2025-11-19 14:38:02 +00:00
New field bluesky_handle in both main models
This commit is contained in:
@@ -0,0 +1,19 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 5.1.5 on 2025-01-27 10:54
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("ivataraccount", "0018_alter_photo_format"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="confirmedemail",
|
||||||
|
name="bluesky_handle",
|
||||||
|
field=models.CharField(blank=True, max_length=256, null=True),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 5.1.5 on 2025-01-27 13:33
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("ivataraccount", "0019_confirmedemail_bluesky_handle"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="confirmedopenid",
|
||||||
|
name="bluesky_handle",
|
||||||
|
field=models.CharField(blank=True, max_length=256, null=True),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -9,7 +9,7 @@ import time
|
|||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from os import urandom
|
from os import urandom
|
||||||
from urllib.error import HTTPError, URLError
|
from urllib.error import HTTPError, URLError
|
||||||
from ivatar.utils import urlopen
|
from ivatar.utils import urlopen, Bluesky
|
||||||
from urllib.parse import urlsplit, urlunsplit
|
from urllib.parse import urlsplit, urlunsplit
|
||||||
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
@@ -322,6 +322,8 @@ class ConfirmedEmail(BaseAccountModel):
|
|||||||
null=True,
|
null=True,
|
||||||
on_delete=models.deletion.SET_NULL,
|
on_delete=models.deletion.SET_NULL,
|
||||||
)
|
)
|
||||||
|
# Alternative assignment - use Bluesky handle
|
||||||
|
bluesky_handle = models.CharField(max_length=256, null=True, blank=True)
|
||||||
digest = models.CharField(max_length=32)
|
digest = models.CharField(max_length=32)
|
||||||
digest_sha256 = models.CharField(max_length=64)
|
digest_sha256 = models.CharField(max_length=64)
|
||||||
objects = ConfirmedEmailManager()
|
objects = ConfirmedEmailManager()
|
||||||
@@ -342,6 +344,18 @@ class ConfirmedEmail(BaseAccountModel):
|
|||||||
self.photo = photo
|
self.photo = photo
|
||||||
self.save()
|
self.save()
|
||||||
|
|
||||||
|
def set_bluesky_handle(self, handle):
|
||||||
|
"""
|
||||||
|
Helper method to set Bluesky handle
|
||||||
|
"""
|
||||||
|
bs = Bluesky()
|
||||||
|
avatar = bs.get_profile(handle)
|
||||||
|
if not avatar:
|
||||||
|
raise Exception("Invalid Bluesky handle")
|
||||||
|
return
|
||||||
|
self.bluesky_handle = handle
|
||||||
|
self.save()
|
||||||
|
|
||||||
def save(
|
def save(
|
||||||
self, force_insert=False, force_update=False, using=None, update_fields=None
|
self, force_insert=False, force_update=False, using=None, update_fields=None
|
||||||
):
|
):
|
||||||
@@ -463,6 +477,8 @@ class ConfirmedOpenId(BaseAccountModel):
|
|||||||
alt_digest2 = models.CharField(max_length=64, null=True, blank=True, default=None)
|
alt_digest2 = models.CharField(max_length=64, null=True, blank=True, default=None)
|
||||||
# https://<id> - https w/o trailing slash
|
# https://<id> - https w/o trailing slash
|
||||||
alt_digest3 = models.CharField(max_length=64, null=True, blank=True, default=None)
|
alt_digest3 = models.CharField(max_length=64, null=True, blank=True, default=None)
|
||||||
|
# Alternative assignment - use Bluesky handle
|
||||||
|
bluesky_handle = models.CharField(max_length=256, null=True, blank=True)
|
||||||
|
|
||||||
access_count = models.BigIntegerField(default=0, editable=False)
|
access_count = models.BigIntegerField(default=0, editable=False)
|
||||||
|
|
||||||
@@ -481,6 +497,18 @@ class ConfirmedOpenId(BaseAccountModel):
|
|||||||
self.photo = photo
|
self.photo = photo
|
||||||
self.save()
|
self.save()
|
||||||
|
|
||||||
|
def set_bluesky_handle(self, handle):
|
||||||
|
"""
|
||||||
|
Helper method to set Bluesky handle
|
||||||
|
"""
|
||||||
|
bs = Bluesky()
|
||||||
|
avatar = bs.get_profile(handle)
|
||||||
|
if not avatar:
|
||||||
|
raise Exception("Invalid Bluesky handle")
|
||||||
|
return
|
||||||
|
self.bluesky_handle = handle
|
||||||
|
self.save()
|
||||||
|
|
||||||
def save(
|
def save(
|
||||||
self, force_insert=False, force_update=False, using=None, update_fields=None
|
self, force_insert=False, force_update=False, using=None, update_fields=None
|
||||||
):
|
):
|
||||||
|
|||||||
Reference in New Issue
Block a user