2022-06-03 08:09:47 -06:00
|
|
|
from rest_framework import serializers
|
|
|
|
|
|
|
|
|
|
from apps.slack.models import SlackUserIdentity
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class SlackUserIdentitySerializer(serializers.ModelSerializer):
|
|
|
|
|
slack_login = serializers.CharField(read_only=True, source="cached_slack_login")
|
|
|
|
|
avatar = serializers.CharField(read_only=True, source="cached_avatar")
|
|
|
|
|
name = serializers.CharField(read_only=True, source="cached_name")
|
|
|
|
|
display_name = serializers.SerializerMethodField()
|
|
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
|
model = SlackUserIdentity
|
|
|
|
|
fields = ["slack_login", "slack_id", "avatar", "name", "display_name"]
|
|
|
|
|
read_only_fields = ["slack_login", "slack_id", "avatar", "name", "display_name"]
|
|
|
|
|
|
2024-01-12 15:11:22 +00:00
|
|
|
def get_display_name(self, obj) -> str | None:
|
2022-06-03 08:09:47 -06:00
|
|
|
return obj.profile_display_name or obj.slack_verbal
|