oncall-engine/engine/apps/api/serializers/slack_user_identity.py

19 lines
771 B
Python
Raw Permalink Normal View History

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"]
def get_display_name(self, obj) -> str | None:
return obj.profile_display_name or obj.slack_verbal