Skip to content

Commit d81acec

Browse files
jfrench9claude
andauthored
Refactor billing API and remove deprecated connection/view endpoints (#60)
## Summary This PR implements a significant refactoring of the robosystems client by updating billing API status handling and removing deprecated connection and view management functionality. The changes streamline the codebase by eliminating unused endpoints and consolidating subscription-related models. ## Key Accomplishments - **Updated Billing API**: Refactored checkout status endpoint with improved status value handling - **Removed Connection Management**: Eliminated entire connections API module including: - Connection CRUD operations (create, get, delete, list) - OAuth flow endpoints (init, callback, token exchange) - Link token management - Connection synchronization - **Removed View Management**: Deleted view creation and management endpoints - **Model Cleanup**: Removed 30+ obsolete model classes related to connections and views - **Subscription Model Updates**: Consolidated graph subscription models and simplified tier management ## Breaking Changes ⚠️ **This is a breaking change** - The following functionality has been completely removed: - All connection management APIs (`/connections/*` endpoints) - View creation and management APIs (`/views/*` endpoints) - Related model classes for connections, OAuth flows, and view configurations - Provider-specific configurations (Plaid, QuickBooks, SEC) Applications using these endpoints will need to be updated before upgrading to this version. ## Files Impacted - **Modified**: 6 files (billing API + subscription models) - **Deleted**: 55 files (connections, views, and related models) - **Total**: 61 files changed ## Testing Notes - Verify billing checkout status API continues to function with updated status handling - Confirm subscription-related functionality works with consolidated models - Test that removal of connection/view endpoints doesn't impact other API functionality - Validate that import statements across the codebase have been properly updated ## Infrastructure Considerations - This change significantly reduces the client library footprint - Applications should verify compatibility before deploying - Consider versioning strategy for clients that still require connection/view functionality - Monitor for any residual dependencies on removed models in downstream services --- 🤖 Generated with [Claude Code](https://claude.ai/code) **Branch Info:** - Source: `feature/improved-checkout` - Target: `main` - Type: feature Co-Authored-By: Claude <noreply@anthropic.com>
2 parents 0f4a4d2 + f6326a2 commit d81acec

File tree

61 files changed

+21
-6879
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+21
-6879
lines changed

robosystems_client/api/billing/get_checkout_status.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,11 @@ def sync_detailed(
6969
**Status Values:**
7070
- `pending_payment`: Waiting for payment to complete
7171
- `provisioning`: Payment confirmed, resource being created
72-
- `completed`: Resource is ready (resource_id will be set)
72+
- `active`: Resource is ready (resource_id will be set)
7373
- `failed`: Something went wrong (error field will be set)
74+
- `canceled`: Payment was canceled
7475
75-
**When status is 'completed':**
76+
**When status is 'active':**
7677
- For graphs: `resource_id` will be the graph_id, and `operation_id` can be used to monitor SSE
7778
progress
7879
- For repositories: `resource_id` will be the repository name and access is immediately available
@@ -114,10 +115,11 @@ def sync(
114115
**Status Values:**
115116
- `pending_payment`: Waiting for payment to complete
116117
- `provisioning`: Payment confirmed, resource being created
117-
- `completed`: Resource is ready (resource_id will be set)
118+
- `active`: Resource is ready (resource_id will be set)
118119
- `failed`: Something went wrong (error field will be set)
120+
- `canceled`: Payment was canceled
119121
120-
**When status is 'completed':**
122+
**When status is 'active':**
121123
- For graphs: `resource_id` will be the graph_id, and `operation_id` can be used to monitor SSE
122124
progress
123125
- For repositories: `resource_id` will be the repository name and access is immediately available
@@ -154,10 +156,11 @@ async def asyncio_detailed(
154156
**Status Values:**
155157
- `pending_payment`: Waiting for payment to complete
156158
- `provisioning`: Payment confirmed, resource being created
157-
- `completed`: Resource is ready (resource_id will be set)
159+
- `active`: Resource is ready (resource_id will be set)
158160
- `failed`: Something went wrong (error field will be set)
161+
- `canceled`: Payment was canceled
159162
160-
**When status is 'completed':**
163+
**When status is 'active':**
161164
- For graphs: `resource_id` will be the graph_id, and `operation_id` can be used to monitor SSE
162165
progress
163166
- For repositories: `resource_id` will be the repository name and access is immediately available
@@ -197,10 +200,11 @@ async def asyncio(
197200
**Status Values:**
198201
- `pending_payment`: Waiting for payment to complete
199202
- `provisioning`: Payment confirmed, resource being created
200-
- `completed`: Resource is ready (resource_id will be set)
203+
- `active`: Resource is ready (resource_id will be set)
201204
- `failed`: Something went wrong (error field will be set)
205+
- `canceled`: Payment was canceled
202206
203-
**When status is 'completed':**
207+
**When status is 'active':**
204208
- For graphs: `resource_id` will be the graph_id, and `operation_id` can be used to monitor SSE
205209
progress
206210
- For repositories: `resource_id` will be the repository name and access is immediately available

robosystems_client/api/connections/__init__.py

Lines changed: 0 additions & 1 deletion
This file was deleted.

robosystems_client/api/connections/create_connection.py

Lines changed: 0 additions & 291 deletions
This file was deleted.

0 commit comments

Comments
 (0)