beta · event · 0.2.0
Community Comment moderated
A permanent report decision changed a Community Comment's moderation state.
Capability Domain: community-interaction
Reference identifier: community-comment-moderated
Schema ID: https://minicenter.otus.tw/events/community.comment.moderated.v1.schema.json
Delivery: Delivered at least once. Deduplicate by Domain Event envelope id and query the report API for authoritative current state.
Event schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://minicenter.otus.tw/events/community.comment.moderated.v1.schema.json",
"title": "Community Comment moderated",
"description": "A permanent report decision changed a Community Comment's moderation state.",
"type": "object",
"additionalProperties": false,
"required": [
"report_id",
"comment_id",
"resource_type",
"resource_id",
"decision",
"moderation_state",
"moderation_reason",
"decided_at"
],
"properties": {
"report_id": {
"type": "string",
"format": "uuid"
},
"comment_id": {
"type": "string",
"format": "uuid"
},
"resource_type": {
"type": "string",
"maxLength": 120
},
"resource_id": {
"type": "string",
"maxLength": 255
},
"decision": {
"type": "string",
"enum": [
"no_action",
"restricted"
]
},
"moderation_state": {
"type": "string",
"enum": [
"visible",
"restricted"
]
},
"moderation_reason": {
"type": [
"string",
"null"
],
"enum": [
"spam",
"harassment",
"hate",
"violence",
"sexual_content",
null
]
},
"decided_at": {
"type": "string",
"format": "date-time"
}
},
"x-documentation": true,
"x-reference-id": "community-comment-moderated",
"x-domain": "community-interaction",
"x-stability": "beta",
"x-delivery": "Delivered at least once. Deduplicate by Domain Event envelope id and query the report API for authoritative current state.",
"example": {
"report_id": "53000000-0000-4000-8000-000000000001",
"comment_id": "51000000-0000-4000-8000-000000000001",
"resource_type": "article",
"resource_id": "article-42",
"decision": "restricted",
"moderation_state": "restricted",
"moderation_reason": "spam",
"decided_at": "2026-09-10T02:00:00Z"
}
}
Example
{
"report_id": "53000000-0000-4000-8000-000000000001",
"comment_id": "51000000-0000-4000-8000-000000000001",
"resource_type": "article",
"resource_id": "article-42",
"decision": "restricted",
"moderation_state": "restricted",
"moderation_reason": "spam",
"decided_at": "2026-09-10T02:00:00Z"
}