blob: 926ddf249eb4decb6f79a4f187da84353be42c67 [file]
import marshmallow as ma
import marshmallow_enum as ma_enum
from app.utility.base_object import BaseObject
from app.utility.rule_set import RuleAction
class RuleSchema(ma.Schema):
action = ma_enum.EnumField(RuleAction, required=True)
trait = ma.fields.String(required=True)
match = ma.fields.String()
@ma.post_load
def build_rule(self, data, **_):
return Rule(**data)
class Rule(BaseObject):
schema = RuleSchema()
def __init__(self, action, trait, match='.*'):
super().__init__()
self.action = action
self.trait = trait
self.match = match