From 61c01b755ec9e4ea3e425498d83c836924c60152 Mon Sep 17 00:00:00 2001 From: fern-api <115122769+fern-api[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 13:20:33 +0000 Subject: [PATCH] Release 1.6.9 --- pyproject.toml | 2 +- src/flagright/__init__.py | 2 + src/flagright/core/client_wrapper.py | 2 +- src/flagright/types/__init__.py | 2 + .../transaction_event_with_rules_result.py | 49 +++++++++++++++++++ 5 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 src/flagright/types/transaction_event_with_rules_result.py diff --git a/pyproject.toml b/pyproject.toml index fff68ef..a79e796 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "flagright" -version = "1.6.8" +version = "1.6.9" description = "" readme = "README.md" authors = [] diff --git a/src/flagright/__init__.py b/src/flagright/__init__.py index 2f25a66..6dea0e4 100644 --- a/src/flagright/__init__.py +++ b/src/flagright/__init__.py @@ -128,6 +128,7 @@ TransactionDestinationPaymentDetails_Wallet, TransactionEvent, TransactionEventMonitoringResult, + TransactionEventWithRulesResult, TransactionLimit, TransactionLimits, TransactionLimitsPaymentMethodLimits, @@ -406,6 +407,7 @@ "TransactionDestinationPaymentDetails_Wallet", "TransactionEvent", "TransactionEventMonitoringResult", + "TransactionEventWithRulesResult", "TransactionLimit", "TransactionLimits", "TransactionLimitsPaymentMethodLimits", diff --git a/src/flagright/core/client_wrapper.py b/src/flagright/core/client_wrapper.py index e35d253..68a103f 100644 --- a/src/flagright/core/client_wrapper.py +++ b/src/flagright/core/client_wrapper.py @@ -14,7 +14,7 @@ def get_headers(self) -> typing.Dict[str, str]: headers: typing.Dict[str, str] = { "X-Fern-Language": "Python", "X-Fern-SDK-Name": "flagright", - "X-Fern-SDK-Version": "1.6.8", + "X-Fern-SDK-Version": "1.6.9", } headers["x-api-key"] = self.api_key return headers diff --git a/src/flagright/types/__init__.py b/src/flagright/types/__init__.py index d92f00a..ae49a3a 100644 --- a/src/flagright/types/__init__.py +++ b/src/flagright/types/__init__.py @@ -133,6 +133,7 @@ ) from .transaction_event import TransactionEvent from .transaction_event_monitoring_result import TransactionEventMonitoringResult +from .transaction_event_with_rules_result import TransactionEventWithRulesResult from .transaction_limit import TransactionLimit from .transaction_limits import TransactionLimits from .transaction_limits_payment_method_limits import TransactionLimitsPaymentMethodLimits @@ -376,6 +377,7 @@ "TransactionDestinationPaymentDetails_Wallet", "TransactionEvent", "TransactionEventMonitoringResult", + "TransactionEventWithRulesResult", "TransactionLimit", "TransactionLimits", "TransactionLimitsPaymentMethodLimits", diff --git a/src/flagright/types/transaction_event_with_rules_result.py b/src/flagright/types/transaction_event_with_rules_result.py new file mode 100644 index 0000000..31f044d --- /dev/null +++ b/src/flagright/types/transaction_event_with_rules_result.py @@ -0,0 +1,49 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .device_data import DeviceData +from .executed_rules_result import ExecutedRulesResult +from .hit_rules_details import HitRulesDetails +from .rule_action import RuleAction +from .transaction_risk_scoring_result import TransactionRiskScoringResult +from .transaction_state import TransactionState +from .transaction_updatable import TransactionUpdatable + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class TransactionEventWithRulesResult(pydantic.BaseModel): + transaction_state: TransactionState = pydantic.Field(alias="transactionState") + timestamp: float = pydantic.Field(description="Timestamp of the event") + transaction_id: str = pydantic.Field(alias="transactionId", description="Transaction ID the event pertains to") + event_id: typing.Optional[str] = pydantic.Field(alias="eventId", description="Unique event ID") + reason: typing.Optional[str] = pydantic.Field(description="Reason for the event or a state change") + event_description: typing.Optional[str] = pydantic.Field(alias="eventDescription", description="Event description") + updated_transaction_attributes: typing.Optional[TransactionUpdatable] = pydantic.Field( + alias="updatedTransactionAttributes" + ) + meta_data: typing.Optional[DeviceData] = pydantic.Field(alias="metaData") + executed_rules: typing.Optional[typing.List[ExecutedRulesResult]] = pydantic.Field(alias="executedRules") + hit_rules: typing.Optional[typing.List[HitRulesDetails]] = pydantic.Field(alias="hitRules") + status: typing.Optional[RuleAction] + risk_score_details: typing.Optional[TransactionRiskScoringResult] = pydantic.Field(alias="riskScoreDetails") + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + allow_population_by_field_name = True + json_encoders = {dt.datetime: serialize_datetime}