Source code for py_abac.policy.conditions.object.equals_object

"""
    Equals object conditions
"""

from marshmallow import Schema, fields, post_load

from ..base import ConditionBase


[docs]class EqualsObject(ConditionBase): """ Equals object conditions """ def __init__(self, value): self.value = value
[docs] def is_satisfied(self, ctx) -> bool: return self.value == ctx.attribute_value
[docs]class EqualsObjectSchema(Schema): """ JSON schema for equals object condition """ value = fields.Dict(required=True)
[docs] @post_load def post_load(self, data, **_): # pylint: disable=missing-docstring,no-self-use return EqualsObject(**data)