lago-python-client 1.28.1__tar.gz → 1.30.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/PKG-INFO +1 -1
- lago_python_client-1.30.0/lago_python_client/activity_logs/clients.py +18 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/client.py +5 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/invoices/clients.py +14 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/__init__.py +2 -0
- lago_python_client-1.30.0/lago_python_client/models/activity_log.py +36 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/wallet.py +6 -0
- lago_python_client-1.30.0/lago_python_client/version.py +1 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client.egg-info/PKG-INFO +1 -1
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client.egg-info/SOURCES.txt +8 -0
- lago_python_client-1.30.0/tests/__init__.py +0 -0
- lago_python_client-1.30.0/tests/test_activity_logs_client.py +100 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_invoice_client.py +13 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_wallet_client.py +4 -0
- lago_python_client-1.28.1/lago_python_client/version.py +0 -1
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/LICENSE +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/README.md +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/__init__.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/add_ons → lago_python_client-1.30.0/lago_python_client/activity_logs}/__init__.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/billable_metrics → lago_python_client-1.30.0/lago_python_client/add_ons}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/add_ons/clients.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/base_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/base_model.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/billing_entities → lago_python_client-1.30.0/lago_python_client/billable_metrics}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/billable_metrics/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/coupons → lago_python_client-1.30.0/lago_python_client/billing_entities}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/billing_entities/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/credit_notes → lago_python_client-1.30.0/lago_python_client/coupons}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/coupons/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/customers → lago_python_client-1.30.0/lago_python_client/credit_notes}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/credit_notes/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/events → lago_python_client-1.30.0/lago_python_client/customers}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/customers/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/fees → lago_python_client-1.30.0/lago_python_client/events}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/events/clients.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/exceptions.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/gross_revenues → lago_python_client-1.30.0/lago_python_client/fees}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/fees/clients.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/functools_ext.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/invoice_collections → lago_python_client-1.30.0/lago_python_client/gross_revenues}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/gross_revenues/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/invoiced_usages → lago_python_client-1.30.0/lago_python_client/invoice_collections}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/invoice_collections/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/invoices → lago_python_client-1.30.0/lago_python_client/invoiced_usages}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/invoiced_usages/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/mrrs → lago_python_client-1.30.0/lago_python_client/invoices}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/mixins.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/add_on.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/applied_coupon.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/billable_metric.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/billing_entity.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/billing_period.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/charge.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/coupon.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/credit.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/credit_note.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/customer.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/customer_usage.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/error_detail.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/event.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/fee.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/gross_revenue.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/invoice.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/invoice_collection.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/invoice_item.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/invoiced_usage.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/lifetime_usage.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/minimum_commitment.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/mrr.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/organization.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/overdue_balance.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/payment.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/payment_receipt.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/payment_request.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/plan.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/subscription.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/tax.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/usage_threshold.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/wallet_transaction.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/webhook_endpoint.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/organizations → lago_python_client-1.30.0/lago_python_client/mrrs}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/mrrs/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/overdue_balances → lago_python_client-1.30.0/lago_python_client/organizations}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/organizations/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/payment_receipts → lago_python_client-1.30.0/lago_python_client/overdue_balances}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/overdue_balances/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/payment_requests → lago_python_client-1.30.0/lago_python_client/payment_receipts}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/payment_receipts/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/payments → lago_python_client-1.30.0/lago_python_client/payment_requests}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/payment_requests/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/plans → lago_python_client-1.30.0/lago_python_client/payments}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/payments/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/services → lago_python_client-1.30.0/lago_python_client/plans}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/plans/clients.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/py.typed +0 -0
- {lago_python_client-1.28.1/lago_python_client/subscriptions → lago_python_client-1.30.0/lago_python_client/services}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/services/json.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/services/request.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/services/response.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/taxes → lago_python_client-1.30.0/lago_python_client/subscriptions}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/subscriptions/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/wallets → lago_python_client-1.30.0/lago_python_client/taxes}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/taxes/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/webhook_endpoints → lago_python_client-1.30.0/lago_python_client/wallets}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/wallets/clients.py +0 -0
- {lago_python_client-1.28.1/lago_python_client/webhooks → lago_python_client-1.30.0/lago_python_client/webhook_endpoints}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/webhook_endpoints/clients.py +0 -0
- {lago_python_client-1.28.1/tests → lago_python_client-1.30.0/lago_python_client/webhooks}/__init__.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/webhooks/clients.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client.egg-info/dependency_links.txt +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client.egg-info/requires.txt +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client.egg-info/top_level.txt +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/pyproject.toml +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/setup.cfg +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_add_on_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_applied_coupon_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_billable_metric_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_billing_entity_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_coupon_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_credit_note_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_customer_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_event_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_fee_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_functools_ext.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_gross_revenue_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_invoice_collection_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_invoiced_usage_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_json_services.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_mrr_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_organization_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_overdue_balance_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_payment_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_payment_receipt_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_payment_request_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_plan_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_request_services.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_response_services.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_subscription_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_tax_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_wallet_transaction_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_webhook_client.py +0 -0
- {lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_webhook_endpoint_client.py +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from typing import ClassVar, Type
|
|
2
|
+
|
|
3
|
+
from ..base_client import BaseClient
|
|
4
|
+
from ..mixins import (
|
|
5
|
+
FindAllCommandMixin,
|
|
6
|
+
FindCommandMixin,
|
|
7
|
+
)
|
|
8
|
+
from ..models.activity_log import ActivityLogResponse
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ActivityLogClient(
|
|
12
|
+
FindAllCommandMixin[ActivityLogResponse],
|
|
13
|
+
FindCommandMixin[ActivityLogResponse],
|
|
14
|
+
BaseClient,
|
|
15
|
+
):
|
|
16
|
+
API_RESOURCE: ClassVar[str] = "activity_logs"
|
|
17
|
+
RESPONSE_MODEL: ClassVar[Type[ActivityLogResponse]] = ActivityLogResponse
|
|
18
|
+
ROOT_NAME: ClassVar[str] = "activity_log"
|
|
@@ -25,6 +25,7 @@ from .taxes.clients import TaxClient
|
|
|
25
25
|
from .wallets.clients import WalletClient, WalletTransactionClient
|
|
26
26
|
from .webhooks.clients import WebhookClient
|
|
27
27
|
from .webhook_endpoints.clients import WebhookEndpointClient
|
|
28
|
+
from .activity_logs.clients import ActivityLogClient
|
|
28
29
|
|
|
29
30
|
try:
|
|
30
31
|
from typing import Final
|
|
@@ -164,3 +165,7 @@ class Client:
|
|
|
164
165
|
@callable_cached_property
|
|
165
166
|
def webhook_endpoints(self) -> WebhookEndpointClient:
|
|
166
167
|
return WebhookEndpointClient(self.base_api_url, self.api_key)
|
|
168
|
+
|
|
169
|
+
@callable_cached_property
|
|
170
|
+
def activity_logs(self) -> ActivityLogClient:
|
|
171
|
+
return ActivityLogClient(self.base_api_url, self.api_key)
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/invoices/clients.py
RENAMED
|
@@ -107,6 +107,20 @@ class InvoiceClient(
|
|
|
107
107
|
data=get_response_data(response=api_response, key=self.ROOT_NAME),
|
|
108
108
|
)
|
|
109
109
|
|
|
110
|
+
def void(self, resource_id: str) -> InvoiceResponse:
|
|
111
|
+
api_response: Response = send_post_request(
|
|
112
|
+
url=make_url(
|
|
113
|
+
origin=self.base_url,
|
|
114
|
+
path_parts=(self.API_RESOURCE, resource_id, "void"),
|
|
115
|
+
),
|
|
116
|
+
headers=make_headers(api_key=self.api_key),
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
return prepare_object_response(
|
|
120
|
+
response_model=self.RESPONSE_MODEL,
|
|
121
|
+
data=get_response_data(response=api_response, key=self.ROOT_NAME),
|
|
122
|
+
)
|
|
123
|
+
|
|
110
124
|
def lose_dispute(self, resource_id: str) -> InvoiceResponse:
|
|
111
125
|
api_response: Response = send_put_request(
|
|
112
126
|
url=make_url(
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/__init__.py
RENAMED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from .activity_log import ActivityLog as ActivityLog, ActivityLogResponse as ActivityLogResponse
|
|
1
2
|
from .applied_coupon import AppliedCoupon as AppliedCoupon
|
|
2
3
|
from .billable_metric import (
|
|
3
4
|
BillableMetric as BillableMetric,
|
|
@@ -88,6 +89,7 @@ from .wallet import (
|
|
|
88
89
|
RecurringTransactionRuleList as RecurringTransactionRuleList,
|
|
89
90
|
RecurringTransactionRuleResponse as RecurringTransactionRuleResponse,
|
|
90
91
|
RecurringTransactionRuleResponseList as RecurringTransactionRuleResponseList,
|
|
92
|
+
AppliesTo as AppliesTo,
|
|
91
93
|
)
|
|
92
94
|
from .wallet_transaction import WalletTransaction as WalletTransaction
|
|
93
95
|
from .webhook_endpoint import WebhookEndpoint as WebhookEndpoint
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from lago_python_client.base_model import BaseModel
|
|
4
|
+
|
|
5
|
+
from ..base_model import BaseResponseModel
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ActivityLog(BaseModel):
|
|
9
|
+
activity_type: str
|
|
10
|
+
activity_object: Optional[dict]
|
|
11
|
+
activity_object_changes: Optional[dict]
|
|
12
|
+
activity_source: str
|
|
13
|
+
activity_type: str
|
|
14
|
+
logged_at: str
|
|
15
|
+
resource_type: str
|
|
16
|
+
created_at: str
|
|
17
|
+
activity_id: str
|
|
18
|
+
external_customer_id: Optional[str]
|
|
19
|
+
external_subscription_id: Optional[str]
|
|
20
|
+
resource_id: str
|
|
21
|
+
user_email: Optional[str]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class ActivityLogResponse(BaseResponseModel):
|
|
25
|
+
activity_id: str
|
|
26
|
+
activity_type: str
|
|
27
|
+
activity_source: str
|
|
28
|
+
activity_object: Optional[dict]
|
|
29
|
+
activity_object_changes: Optional[dict]
|
|
30
|
+
user_email: Optional[str]
|
|
31
|
+
resource_id: str
|
|
32
|
+
resource_type: str
|
|
33
|
+
external_customer_id: Optional[str]
|
|
34
|
+
external_subscription_id: Optional[str]
|
|
35
|
+
logged_at: str
|
|
36
|
+
created_at: str
|
|
@@ -43,6 +43,10 @@ class RecurringTransactionRuleResponseList(BaseModel):
|
|
|
43
43
|
__root__: List[RecurringTransactionRuleResponse]
|
|
44
44
|
|
|
45
45
|
|
|
46
|
+
class AppliesTo(BaseModel):
|
|
47
|
+
fee_types: Optional[List[str]]
|
|
48
|
+
|
|
49
|
+
|
|
46
50
|
class Wallet(BaseModel):
|
|
47
51
|
external_customer_id: Optional[str]
|
|
48
52
|
rate_amount: Optional[str]
|
|
@@ -53,6 +57,7 @@ class Wallet(BaseModel):
|
|
|
53
57
|
currency: Optional[str]
|
|
54
58
|
recurring_transaction_rules: Optional[RecurringTransactionRuleList]
|
|
55
59
|
transaction_metadata: Optional[List[Dict[str, str]]]
|
|
60
|
+
applies_to: Optional[AppliesTo]
|
|
56
61
|
|
|
57
62
|
|
|
58
63
|
class WalletResponse(BaseResponseModel):
|
|
@@ -76,3 +81,4 @@ class WalletResponse(BaseResponseModel):
|
|
|
76
81
|
ongoing_usage_balance_cents: int
|
|
77
82
|
credits_ongoing_balance: str
|
|
78
83
|
credits_ongoing_usage_balance: str
|
|
84
|
+
applies_to: Optional[AppliesTo]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
LAGO_VERSION = "1.30.0"
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client.egg-info/SOURCES.txt
RENAMED
|
@@ -11,6 +11,8 @@ setup.cfg
|
|
|
11
11
|
./lago_python_client/mixins.py
|
|
12
12
|
./lago_python_client/py.typed
|
|
13
13
|
./lago_python_client/version.py
|
|
14
|
+
./lago_python_client/activity_logs/__init__.py
|
|
15
|
+
./lago_python_client/activity_logs/clients.py
|
|
14
16
|
./lago_python_client/add_ons/__init__.py
|
|
15
17
|
./lago_python_client/add_ons/clients.py
|
|
16
18
|
./lago_python_client/billable_metrics/__init__.py
|
|
@@ -36,6 +38,7 @@ setup.cfg
|
|
|
36
38
|
./lago_python_client/invoices/__init__.py
|
|
37
39
|
./lago_python_client/invoices/clients.py
|
|
38
40
|
./lago_python_client/models/__init__.py
|
|
41
|
+
./lago_python_client/models/activity_log.py
|
|
39
42
|
./lago_python_client/models/add_on.py
|
|
40
43
|
./lago_python_client/models/applied_coupon.py
|
|
41
44
|
./lago_python_client/models/billable_metric.py
|
|
@@ -99,6 +102,7 @@ setup.cfg
|
|
|
99
102
|
./lago_python_client/webhooks/__init__.py
|
|
100
103
|
./lago_python_client/webhooks/clients.py
|
|
101
104
|
./tests/__init__.py
|
|
105
|
+
./tests/test_activity_logs_client.py
|
|
102
106
|
./tests/test_add_on_client.py
|
|
103
107
|
./tests/test_applied_coupon_client.py
|
|
104
108
|
./tests/test_billable_metric_client.py
|
|
@@ -144,6 +148,8 @@ lago_python_client.egg-info/SOURCES.txt
|
|
|
144
148
|
lago_python_client.egg-info/dependency_links.txt
|
|
145
149
|
lago_python_client.egg-info/requires.txt
|
|
146
150
|
lago_python_client.egg-info/top_level.txt
|
|
151
|
+
lago_python_client/activity_logs/__init__.py
|
|
152
|
+
lago_python_client/activity_logs/clients.py
|
|
147
153
|
lago_python_client/add_ons/__init__.py
|
|
148
154
|
lago_python_client/add_ons/clients.py
|
|
149
155
|
lago_python_client/billable_metrics/__init__.py
|
|
@@ -169,6 +175,7 @@ lago_python_client/invoiced_usages/clients.py
|
|
|
169
175
|
lago_python_client/invoices/__init__.py
|
|
170
176
|
lago_python_client/invoices/clients.py
|
|
171
177
|
lago_python_client/models/__init__.py
|
|
178
|
+
lago_python_client/models/activity_log.py
|
|
172
179
|
lago_python_client/models/add_on.py
|
|
173
180
|
lago_python_client/models/applied_coupon.py
|
|
174
181
|
lago_python_client/models/billable_metric.py
|
|
@@ -232,6 +239,7 @@ lago_python_client/webhook_endpoints/clients.py
|
|
|
232
239
|
lago_python_client/webhooks/__init__.py
|
|
233
240
|
lago_python_client/webhooks/clients.py
|
|
234
241
|
tests/__init__.py
|
|
242
|
+
tests/test_activity_logs_client.py
|
|
235
243
|
tests/test_add_on_client.py
|
|
236
244
|
tests/test_applied_coupon_client.py
|
|
237
245
|
tests/test_billable_metric_client.py
|
|
File without changes
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
import pytest
|
|
4
|
+
from pytest_httpx import HTTPXMock
|
|
5
|
+
|
|
6
|
+
from urllib.parse import urlencode
|
|
7
|
+
|
|
8
|
+
from lago_python_client.client import Client
|
|
9
|
+
from lago_python_client.exceptions import LagoApiError
|
|
10
|
+
|
|
11
|
+
ENDPOINT = "https://api.getlago.com/api/v1/activity_logs"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def mock_response(fixture_path):
|
|
15
|
+
this_dir = os.path.dirname(os.path.abspath(__file__))
|
|
16
|
+
data_path = os.path.join(this_dir, fixture_path)
|
|
17
|
+
|
|
18
|
+
with open(data_path, "rb") as response:
|
|
19
|
+
return response.read()
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def test_valid_find_activity_log_request(httpx_mock: HTTPXMock):
|
|
23
|
+
client = Client(api_key="886fe239-927d-4072-ab72-6dd345e8dd0d")
|
|
24
|
+
activity_id = "1262046f-ea6e-423b-8bf7-3a985232f91b"
|
|
25
|
+
|
|
26
|
+
httpx_mock.add_response(
|
|
27
|
+
method="GET",
|
|
28
|
+
url=ENDPOINT + f"/{activity_id}",
|
|
29
|
+
content=mock_response("fixtures/activity_log.json"),
|
|
30
|
+
)
|
|
31
|
+
response = client.activity_logs.find(activity_id)
|
|
32
|
+
|
|
33
|
+
assert response.activity_id == activity_id
|
|
34
|
+
assert response.activity_type == "billable_metric.created"
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def test_invalid_find_activity_log_request(httpx_mock: HTTPXMock):
|
|
38
|
+
client = Client(api_key="invalid")
|
|
39
|
+
activity_id = "invalid"
|
|
40
|
+
|
|
41
|
+
httpx_mock.add_response(
|
|
42
|
+
method="GET",
|
|
43
|
+
url=ENDPOINT + f"/{activity_id}",
|
|
44
|
+
status_code=404,
|
|
45
|
+
content=b"",
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
with pytest.raises(LagoApiError):
|
|
49
|
+
client.activity_logs.find(activity_id)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def test_valid_find_all_activity_log_request(httpx_mock: HTTPXMock):
|
|
53
|
+
client = Client(api_key="886fe239-927d-4072-ab72-6dd345e8dd0d")
|
|
54
|
+
|
|
55
|
+
httpx_mock.add_response(
|
|
56
|
+
method="GET",
|
|
57
|
+
url=ENDPOINT,
|
|
58
|
+
content=mock_response("fixtures/activity_log_index.json"),
|
|
59
|
+
)
|
|
60
|
+
response = client.activity_logs.find_all()
|
|
61
|
+
|
|
62
|
+
assert response["activity_logs"][0].activity_id == "1262046f-ea6e-423b-8bf7-3a985232f91b"
|
|
63
|
+
assert response["activity_logs"][1].activity_id == "6744ddec-3516-4e26-9c7e-dc3c30fc4e80"
|
|
64
|
+
assert response["meta"]["current_page"] == 1
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def test_valid_find_all_activity_log_request_with_options(httpx_mock: HTTPXMock):
|
|
68
|
+
client = Client(api_key="886fe239-927d-4072-ab72-6dd345e8dd0d")
|
|
69
|
+
options = {"per_page": 1, "page": 1}
|
|
70
|
+
|
|
71
|
+
httpx_mock.add_response(
|
|
72
|
+
method="GET",
|
|
73
|
+
url=ENDPOINT + f"?{urlencode(options)}",
|
|
74
|
+
content=mock_response("fixtures/activity_log_index.json"),
|
|
75
|
+
)
|
|
76
|
+
response = client.activity_logs.find_all(options)
|
|
77
|
+
|
|
78
|
+
assert response["activity_logs"][1].activity_id == "6744ddec-3516-4e26-9c7e-dc3c30fc4e80"
|
|
79
|
+
assert response["meta"]["current_page"] == 1
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def test_invalid_find_all_activity_log_request(httpx_mock: HTTPXMock):
|
|
83
|
+
client = Client(api_key="invalid")
|
|
84
|
+
|
|
85
|
+
httpx_mock.add_response(
|
|
86
|
+
method="GET",
|
|
87
|
+
url=ENDPOINT,
|
|
88
|
+
status_code=404,
|
|
89
|
+
content=b"",
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
with pytest.raises(LagoApiError):
|
|
93
|
+
client.activity_logs.find_all()
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def test_invalid_operations_for_activity_log_request():
|
|
97
|
+
client = Client(api_key="886fe239-927d-4072-ab72-6dd345e8dd0d")
|
|
98
|
+
assert not hasattr(client.activity_logs, "create")
|
|
99
|
+
assert not hasattr(client.activity_logs, "update")
|
|
100
|
+
assert not hasattr(client.activity_logs, "destroy")
|
|
@@ -252,6 +252,19 @@ def test_valid_finalize_invoice_request(httpx_mock: HTTPXMock):
|
|
|
252
252
|
assert response.lago_id == "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba"
|
|
253
253
|
|
|
254
254
|
|
|
255
|
+
def test_valid_void_invoice_request(httpx_mock: HTTPXMock):
|
|
256
|
+
client = Client(api_key="886fe239-927d-4072-ab72-6dd345e8dd0d")
|
|
257
|
+
|
|
258
|
+
httpx_mock.add_response(
|
|
259
|
+
method="POST",
|
|
260
|
+
url="https://api.getlago.com/api/v1/invoices/5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba/void",
|
|
261
|
+
content=mock_response(),
|
|
262
|
+
)
|
|
263
|
+
response = client.invoices.void("5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba")
|
|
264
|
+
|
|
265
|
+
assert response.lago_id == "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba"
|
|
266
|
+
|
|
267
|
+
|
|
255
268
|
def test_valid_retry_payment_invoice_request(httpx_mock: HTTPXMock):
|
|
256
269
|
client = Client(api_key="886fe239-927d-4072-ab72-6dd345e8dd0d")
|
|
257
270
|
|
|
@@ -9,6 +9,7 @@ from lago_python_client.models import (
|
|
|
9
9
|
Wallet,
|
|
10
10
|
RecurringTransactionRule,
|
|
11
11
|
RecurringTransactionRuleList,
|
|
12
|
+
AppliesTo,
|
|
12
13
|
)
|
|
13
14
|
|
|
14
15
|
|
|
@@ -22,6 +23,7 @@ def wallet_object():
|
|
|
22
23
|
target_ongoing_balance="105.0",
|
|
23
24
|
)
|
|
24
25
|
rules_list = RecurringTransactionRuleList(__root__=[rule])
|
|
26
|
+
applies_to = AppliesTo(fee_types=["charge"])
|
|
25
27
|
return Wallet(
|
|
26
28
|
name="name",
|
|
27
29
|
external_customer_id="12345",
|
|
@@ -29,6 +31,7 @@ def wallet_object():
|
|
|
29
31
|
paid_credits="10",
|
|
30
32
|
granted_credits="10",
|
|
31
33
|
recurring_transaction_rules=rules_list,
|
|
34
|
+
applies_to=applies_to,
|
|
32
35
|
)
|
|
33
36
|
|
|
34
37
|
|
|
@@ -62,6 +65,7 @@ def test_valid_create_wallet_request(httpx_mock: HTTPXMock):
|
|
|
62
65
|
assert response.recurring_transaction_rules.__root__[0].lago_id == "12345"
|
|
63
66
|
assert response.recurring_transaction_rules.__root__[0].trigger == "interval"
|
|
64
67
|
assert response.recurring_transaction_rules.__root__[0].interval == "monthly"
|
|
68
|
+
assert response.applies_to.fee_types[0] == "charge"
|
|
65
69
|
|
|
66
70
|
|
|
67
71
|
def test_invalid_create_wallet_request(httpx_mock: HTTPXMock):
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
LAGO_VERSION = "1.28.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/add_ons/clients.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/coupons/clients.py
RENAMED
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/credit_notes/clients.py
RENAMED
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/customers/clients.py
RENAMED
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/events/clients.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/gross_revenues/clients.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/applied_coupon.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/billable_metric.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/billing_entity.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/billing_period.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/credit_note.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/customer.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/customer_usage.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/error_detail.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/gross_revenue.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/invoice.py
RENAMED
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/invoice_item.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/invoiced_usage.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/lifetime_usage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/organization.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/overdue_balance.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/payment.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/payment_receipt.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/payment_request.py
RENAMED
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/subscription.py
RENAMED
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/models/usage_threshold.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/organizations/clients.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/payments/clients.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/services/request.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/services/response.py
RENAMED
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/subscriptions/clients.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/wallets/clients.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client/webhooks/clients.py
RENAMED
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client.egg-info/requires.txt
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/lago_python_client.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_billable_metric_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_invoice_collection_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_overdue_balance_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_payment_receipt_client.py
RENAMED
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_payment_request_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_wallet_transaction_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{lago_python_client-1.28.1 → lago_python_client-1.30.0}/tests/test_webhook_endpoint_client.py
RENAMED
|
File without changes
|