Source code for openbankproject_client.view_custom

"""
View Custom endpoints for the OpenBankProject API Client.
"""

from typing import Dict, List, Optional, Union, Any


[docs] class ViewCustomEndpoints: """View Custom-related API endpoints."""
[docs] def __init__(self, client): """ Initialize the endpoint group. Args: client: OpenBankProjectClient instance """ self.client = client
[docs] def create_custom_view(self, bank_id: str, account_id: str, data: Dict) -> Dict: """ Create Custom View. Args: bank_id: Bank identifier account_id: Account identifier data: Custom view data Returns: Dict containing created custom view information """ return self.client.post(f"banks/{bank_id}/accounts/{account_id}/views", data=data)
[docs] def get_custom_view(self, bank_id: str, account_id: str, view_id: str) -> Dict: """ Get Custom View. Args: bank_id: Bank identifier account_id: Account identifier view_id: View identifier Returns: Dict containing custom view information """ return self.client.get(f"banks/{bank_id}/accounts/{account_id}/views/{view_id}")
[docs] def get_views_for_account(self, bank_id: str, account_id: str) -> Dict: """ Get Views for Account. Args: bank_id: Bank identifier account_id: Account identifier Returns: Dict containing views information for the account """ return self.client.get(f"banks/{bank_id}/accounts/{account_id}/views")
[docs] def update_custom_view(self, bank_id: str, account_id: str, view_id: str, data: Dict) -> Dict: """ Update Custom View. Args: bank_id: Bank identifier account_id: Account identifier view_id: View identifier data: Updated custom view data Returns: Dict containing updated custom view information """ return self.client.put(f"banks/{bank_id}/accounts/{account_id}/views/{view_id}", data=data)
[docs] def delete_custom_view(self, bank_id: str, account_id: str, view_id: str) -> Dict: """ Delete Custom View. Args: bank_id: Bank identifier account_id: Account identifier view_id: View identifier Returns: Dict containing deletion status """ return self.client.delete(f"banks/{bank_id}/accounts/{account_id}/views/{view_id}")
[docs] def get_account_access_for_user(self, bank_id: str, account_id: str, user_id: str) -> Dict: """ Get Account access for User. Args: bank_id: Bank identifier account_id: Account identifier user_id: User identifier Returns: Dict containing account access information for the user """ return self.client.get(f"banks/{bank_id}/accounts/{account_id}/permissions/{user_id}/views")
[docs] def get_access(self, bank_id: str, account_id: str) -> Dict: """ Get access. Args: bank_id: Bank identifier account_id: Account identifier Returns: Dict containing access information """ return self.client.get(f"banks/{bank_id}/accounts/{account_id}/permissions")