See #170: channels ui (listeners)
This commit is contained in:
parent
b74517ff33
commit
95497e76ac
79 changed files with 1768 additions and 232 deletions
|
|
@ -229,8 +229,8 @@ class User(AbstractUser):
|
|||
self.last_activity = now
|
||||
self.save(update_fields=["last_activity"])
|
||||
|
||||
def create_actor(self):
|
||||
self.actor = create_actor(self)
|
||||
def create_actor(self, **kwargs):
|
||||
self.actor = create_actor(self, **kwargs)
|
||||
self.save(update_fields=["actor"])
|
||||
return self.actor
|
||||
|
||||
|
|
@ -264,15 +264,10 @@ class User(AbstractUser):
|
|||
def full_username(self):
|
||||
return "{}@{}".format(self.username, settings.FEDERATION_HOSTNAME)
|
||||
|
||||
@property
|
||||
def avatar_path(self):
|
||||
if not self.avatar:
|
||||
return None
|
||||
try:
|
||||
return self.avatar.path
|
||||
except NotImplementedError:
|
||||
# external storage
|
||||
return self.avatar.name
|
||||
def get_avatar(self):
|
||||
if not self.actor:
|
||||
return
|
||||
return self.actor.attachment_icon
|
||||
|
||||
|
||||
def generate_code(length=10):
|
||||
|
|
@ -399,8 +394,9 @@ def get_actor_data(username, **kwargs):
|
|||
}
|
||||
|
||||
|
||||
def create_actor(user):
|
||||
def create_actor(user, **kwargs):
|
||||
args = get_actor_data(user.username)
|
||||
args.update(kwargs)
|
||||
private, public = keys.get_key_pair()
|
||||
args["private_key"] = private.decode("utf-8")
|
||||
args["public_key"] = public.decode("utf-8")
|
||||
|
|
|
|||
|
|
@ -90,17 +90,12 @@ class UserActivitySerializer(activity_serializers.ModelSerializer):
|
|||
|
||||
|
||||
class UserBasicSerializer(serializers.ModelSerializer):
|
||||
avatar = serializers.SerializerMethodField()
|
||||
avatar = common_serializers.AttachmentSerializer(source="get_avatar")
|
||||
|
||||
class Meta:
|
||||
model = models.User
|
||||
fields = ["id", "username", "name", "date_joined", "avatar"]
|
||||
|
||||
def get_avatar(self, o):
|
||||
return common_serializers.AttachmentSerializer(
|
||||
o.actor.attachment_icon if o.actor else None
|
||||
).data
|
||||
|
||||
|
||||
class UserWriteSerializer(serializers.ModelSerializer):
|
||||
summary = common_serializers.ContentSerializer(required=False, allow_null=True)
|
||||
|
|
@ -140,19 +135,12 @@ class UserWriteSerializer(serializers.ModelSerializer):
|
|||
obj.actor.save(update_fields=["attachment_icon"])
|
||||
return obj
|
||||
|
||||
def to_representation(self, obj):
|
||||
repr = super().to_representation(obj)
|
||||
repr["avatar"] = common_serializers.AttachmentSerializer(
|
||||
obj.actor.attachment_icon
|
||||
).data
|
||||
return repr
|
||||
|
||||
|
||||
class UserReadSerializer(serializers.ModelSerializer):
|
||||
|
||||
permissions = serializers.SerializerMethodField()
|
||||
full_username = serializers.SerializerMethodField()
|
||||
avatar = serializers.SerializerMethodField()
|
||||
avatar = common_serializers.AttachmentSerializer(source="get_avatar")
|
||||
|
||||
class Meta:
|
||||
model = models.User
|
||||
|
|
@ -170,9 +158,6 @@ class UserReadSerializer(serializers.ModelSerializer):
|
|||
"avatar",
|
||||
]
|
||||
|
||||
def get_avatar(self, o):
|
||||
return common_serializers.AttachmentSerializer(o.actor.attachment_icon).data
|
||||
|
||||
def get_permissions(self, o):
|
||||
return o.get_permissions()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue