Coverage for functions \ flipdare \ request \ data \ unsubscribe_request_adapter.py: 93%
15 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-05-08 12:22 +1000
« prev ^ index » next coverage.py v7.13.0, created at 2026-05-08 12:22 +1000
1#!/usr/bin/env python
2# Copyright (c) 2026 Flipdare Pty Ltd. All rights reserved.
3#
4# This file is part of Flipdare's proprietary software and contains
5# confidential and copyrighted material. Unauthorised copying,
6# modification, distribution, or use of this file is strictly
7# prohibited without prior written permission from Flipdare Pty Ltd.
8#
9# This software includes third-party components licensed under MIT,
10# BSD, and Apache 2.0 licences. See THIRD_PARTY_NOTICES for details.
11#
14from flipdare.generated.schema.external.unsubscribe_request_schema import UnsubscribeRequestSchema
15from flipdare.request.request_adapter import RequestAdapter
16from flipdare.request.request_validator import EmailRequestValidator, HoneyPotRequestValidator
18__all__ = ["UnsubscribeRequestAdapter"]
21class UnsubscribeRequestAdapter(RequestAdapter[UnsubscribeRequestSchema]):
23 SCHEMA_CLS = UnsubscribeRequestSchema
24 VALIDATORS = (HoneyPotRequestValidator, EmailRequestValidator)
26 @property
27 def email(self) -> str:
28 return self.data["email"]
30 @property
31 def honeypot(self) -> str | None:
32 if "address" in self.data:
33 return self.data["address"]
34 return None