# What this PR does - add new columns `gcom_org_contract_type`, `gcom_org_irm_sku_subscription_start_date`, and `gcom_org_oldest_admin_with_billing_privileges_user_id` to `user_management_organization` table + `is_restricted` column to `alerts_alertgroup` table - emit two new Django signals - `org_sync_signal` at the end of the `engine/apps/user_management/sync.py::sync_organization` method - `alert_group_created_signal` when a new Alert Group is created ## Checklist - [ ] Tests updated (N/A) - [ ] Documentation added (N/A) - [x] `CHANGELOG.md` updated --------- Co-authored-by: Rares Mardare <rares.mardare@grafana.com>
24 lines
741 B
Python
24 lines
741 B
Python
from rest_framework import serializers
|
|
|
|
from apps.alerts.models import Alert
|
|
from common.api_helpers.mixins import EagerLoadingMixin
|
|
|
|
|
|
class AlertSerializer(EagerLoadingMixin, serializers.ModelSerializer):
|
|
id = serializers.CharField(read_only=True, source="public_primary_key")
|
|
alert_group_id = serializers.CharField(read_only=True, source="group.public_primary_key")
|
|
payload = serializers.SerializerMethodField(read_only=True)
|
|
|
|
SELECT_RELATED = ["group"]
|
|
|
|
class Meta:
|
|
model = Alert
|
|
fields = [
|
|
"id",
|
|
"alert_group_id",
|
|
"created_at",
|
|
"payload",
|
|
]
|
|
|
|
def get_payload(self, obj):
|
|
return {} if obj.group.is_restricted else obj.raw_request_data
|