oncall-engine/engine/apps/api/serializers/slack_user_identity.py
Vadim Stepanov d0904ca405
Improve OpenAPI schema coverage (#3629)
# What this PR does

Improves OpenAPI schema coverage for internal API:

- Fixes/Improves `alert group` and `feature` endpoints
- Adds `integration` and `user` endpoints

## Which issue(s) this PR fixes

https://github.com/grafana/oncall/issues/3444

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not
required)
2024-01-12 15:11:22 +00:00

18 lines
771 B
Python

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