Source code for fmn.messages.rule

# SPDX-FileCopyrightText: Contributors to the Fedora Project
#
# SPDX-License-Identifier: MIT

from .base import BaseMessage

RULE_SCHEMA = {
    "type": "object",
    "properties": {
        "id": {
            "type": "integer",
            "description": "The ID of the rule",
        },
        "name": {
            "type": "string",
            "description": "The name of the rule",
        },
    },
}
USER_SCHEMA = {
    "type": "object",
    "properties": {
        "name": {
            "type": "string",
            "description": "The FAS username",
        }
    },
}


[docs]class RuleCreateV1(BaseMessage): topic = "fmn.rule.update.v1" body_schema = { "id": "http://fedoraproject.org/message-schema/fmn", "$schema": "http://json-schema.org/draft-04/schema#", "description": "A rule was created", "type": "object", "properties": { "rule": RULE_SCHEMA, "user": USER_SCHEMA, }, "required": ["rule", "user"], }
[docs]class RuleUpdateV1(BaseMessage): topic = "fmn.rule.update.v1" body_schema = { "id": "http://fedoraproject.org/message-schema/fmn", "$schema": "http://json-schema.org/draft-04/schema#", "description": "A rule was updated", "type": "object", "properties": { "rule": RULE_SCHEMA, "user": USER_SCHEMA, }, "required": ["rule", "user"], }
[docs]class RuleDeleteV1(BaseMessage): topic = "fmn.rule.delete.v1" body_schema = { "id": "http://fedoraproject.org/message-schema/fmn", "$schema": "http://json-schema.org/draft-04/schema#", "description": "A rule was deleted", "type": "object", "properties": { "rule": RULE_SCHEMA, "user": USER_SCHEMA, }, "required": ["rule", "user"], }