From c0a7b48d3a9452199fd6031cc8f2e76f104174b8 Mon Sep 17 00:00:00 2001 From: blueink-bot Date: Thu, 20 Aug 2026 08:35:12 +0000 Subject: [PATCH] chore: sync internal main (7f4f4d6) --- setup.cfg | 2 +- src/blueink/constants.py | 2 ++ src/blueink/model/bundles.py | 2 ++ src/blueink/subclients/bundle.py | 3 ++- src/blueink/tests/test_apiv2_218_constants.py | 23 +++++++++++++++++++ 5 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 src/blueink/tests/test_apiv2_218_constants.py diff --git a/setup.cfg b/setup.cfg index 4c153b0..8d0c9e1 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = blueink-client-python -version = 1.3.0 +version = 1.4.0 author = Blueink author_email = pypi@blueink.com description = Python Client for Blueink eSignature API diff --git a/src/blueink/constants.py b/src/blueink/constants.py index 82caed2..1c1f316 100644 --- a/src/blueink/constants.py +++ b/src/blueink/constants.py @@ -64,6 +64,7 @@ CHECKBOX="chk", CHECKBOXES="cbx", ATTACHMENT="att", + STAMP="stp", ) PACKET_STATUS = Munch( @@ -75,6 +76,7 @@ EXPIRED="ex", COMPLETE="co", FAILED="fa", + REASSIGNED="ra", ) V_PATTERN = Munch( diff --git a/src/blueink/model/bundles.py b/src/blueink/model/bundles.py index 665acef..13e6f4b 100644 --- a/src/blueink/model/bundles.py +++ b/src/blueink/model/bundles.py @@ -339,6 +339,8 @@ class Bundle(BaseModel): team: Optional[str] = None signing_brand: Optional[str] = None expires: Optional[str] = None + allow_signer_reassign: Optional[bool] = None + allow_chained_signer_reassign: Optional[bool] = None tag_values: Optional[dict] = None @classmethod diff --git a/src/blueink/subclients/bundle.py b/src/blueink/subclients/bundle.py index 8b43458..fdf0e6c 100644 --- a/src/blueink/subclients/bundle.py +++ b/src/blueink/subclients/bundle.py @@ -289,7 +289,8 @@ def update(self, bundle_id: str, data: dict) -> NormalizedResponse: """Partially update a Bundle (PATCH). Typically used to update fields such as ``signing_brand``, ``team``, - ``expires``, ``cc_emails`` and reminder settings on an existing bundle. + ``expires``, ``cc_emails``, reminder settings, ``allow_signer_reassign``, + and ``allow_chained_signer_reassign`` on an existing bundle. Args: bundle_id: bundle slug diff --git a/src/blueink/tests/test_apiv2_218_constants.py b/src/blueink/tests/test_apiv2_218_constants.py new file mode 100644 index 0000000..b8a46cb --- /dev/null +++ b/src/blueink/tests/test_apiv2_218_constants.py @@ -0,0 +1,23 @@ +from blueink.constants import FIELD_KIND, PACKET_STATUS +from blueink.model.bundles import Bundle +from blueink.utils.testcase import TestCase + + +class TestApiV218Constants(TestCase): + def test_field_kind_includes_stamp(self): + self.assert_equal(FIELD_KIND.STAMP, "stp") + self.assert_in("stp", FIELD_KIND.values()) + + def test_packet_status_includes_reassigned(self): + self.assert_equal(PACKET_STATUS.REASSIGNED, "ra") + self.assert_in("ra", PACKET_STATUS.values()) + + def test_bundle_model_accepts_reassign_flags(self): + bundle = Bundle( + packets=[], + documents=[], + allow_signer_reassign=True, + allow_chained_signer_reassign=False, + ) + self.assert_equal(bundle.allow_signer_reassign, True) + self.assert_equal(bundle.allow_chained_signer_reassign, False)