robosystems-client 0.2.9__py3-none-any.whl → 0.2.11__py3-none-any.whl

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.
Files changed (86) hide show
  1. robosystems_client/api/{user_subscriptions/upgrade_shared_repository_subscription.py → billing/cancel_subscription.py} +32 -60
  2. robosystems_client/api/billing/create_checkout_session.py +230 -0
  3. robosystems_client/api/{user_analytics/get_user_usage_overview.py → billing/get_billing_customer.py} +29 -21
  4. robosystems_client/api/billing/get_checkout_status.py +221 -0
  5. robosystems_client/api/{user_subscriptions/get_repository_credits.py → billing/get_subscription.py} +35 -43
  6. robosystems_client/api/{user_subscriptions/get_shared_repository_credits.py → billing/get_upcoming_invoice.py} +42 -28
  7. robosystems_client/api/{user_subscriptions/get_user_shared_subscriptions.py → billing/list_invoices.py} +44 -44
  8. robosystems_client/api/{user_limits/get_all_shared_repository_limits.py → billing/list_subscriptions.py} +38 -27
  9. robosystems_client/api/{user_subscriptions/subscribe_to_shared_repository.py → billing/update_payment_method.py} +42 -46
  10. robosystems_client/api/{user_subscriptions/cancel_shared_repository_subscription.py → subscriptions/cancel_subscription.py} +41 -25
  11. robosystems_client/api/subscriptions/create_repository_subscription.py +217 -0
  12. robosystems_client/api/subscriptions/get_graph_subscription.py +197 -0
  13. robosystems_client/api/subscriptions/upgrade_subscription.py +203 -0
  14. robosystems_client/api/usage/get_graph_usage_analytics.py +377 -0
  15. robosystems_client/api/{user_limits/get_user_usage.py → user/get_user_limits.py} +13 -9
  16. robosystems_client/models/__init__.py +42 -82
  17. robosystems_client/models/billing_customer.py +128 -0
  18. robosystems_client/models/checkout_response.py +87 -0
  19. robosystems_client/models/checkout_status_response.py +130 -0
  20. robosystems_client/models/create_checkout_request.py +88 -0
  21. robosystems_client/models/{graph_usage_response_query_statistics.py → create_checkout_request_resource_config.py} +6 -6
  22. robosystems_client/models/{credits_summary_response_credits_by_addon_type_0_item.py → create_repository_subscription_request.py} +22 -6
  23. robosystems_client/models/credit_summary.py +55 -89
  24. robosystems_client/models/{graph_usage_response_storage_usage.py → credit_summary_operation_breakdown.py} +6 -6
  25. robosystems_client/models/graph_subscription_response.py +200 -0
  26. robosystems_client/models/graph_usage_response.py +136 -39
  27. robosystems_client/models/{user_analytics_response_limits.py → graph_usage_response_recent_events_item.py} +6 -6
  28. robosystems_client/models/invoice.py +244 -0
  29. robosystems_client/models/invoice_line_item.py +118 -0
  30. robosystems_client/models/invoices_response.py +90 -0
  31. robosystems_client/models/payment_method.py +158 -0
  32. robosystems_client/models/performance_insights.py +120 -0
  33. robosystems_client/models/{graph_usage_response_recent_activity.py → performance_insights_operation_stats.py} +6 -6
  34. robosystems_client/models/{user_analytics_response_api_usage.py → performance_insights_slow_queries_item.py} +6 -6
  35. robosystems_client/models/storage_summary.py +100 -0
  36. robosystems_client/models/upcoming_invoice.py +128 -0
  37. robosystems_client/models/{get_graph_usage_details_response_getgraphusagedetails.py → update_payment_method_request.py} +22 -6
  38. robosystems_client/models/{subscription_response.py → update_payment_method_response.py} +14 -14
  39. robosystems_client/models/{tier_upgrade_request.py → upgrade_subscription_request.py} +12 -14
  40. {robosystems_client-0.2.9.dist-info → robosystems_client-0.2.11.dist-info}/METADATA +1 -1
  41. {robosystems_client-0.2.9.dist-info → robosystems_client-0.2.11.dist-info}/RECORD +53 -68
  42. robosystems_client/api/graph_analytics/get_graph_usage_stats.py +0 -289
  43. robosystems_client/api/graph_billing/get_current_graph_bill.py +0 -253
  44. robosystems_client/api/graph_billing/get_graph_billing_history.py +0 -298
  45. robosystems_client/api/graph_billing/get_graph_monthly_bill.py +0 -284
  46. robosystems_client/api/graph_billing/get_graph_usage_details.py +0 -320
  47. robosystems_client/api/user/get_all_credit_summaries.py +0 -169
  48. robosystems_client/api/user_analytics/get_detailed_user_analytics.py +0 -188
  49. robosystems_client/api/user_limits/__init__.py +0 -1
  50. robosystems_client/api/user_limits/get_shared_repository_limits.py +0 -213
  51. robosystems_client/api/user_limits/get_user_limits.py +0 -139
  52. robosystems_client/api/user_subscriptions/__init__.py +0 -1
  53. robosystems_client/models/add_on_credit_info.py +0 -119
  54. robosystems_client/models/credits_summary_response.py +0 -148
  55. robosystems_client/models/get_all_credit_summaries_response_getallcreditsummaries.py +0 -44
  56. robosystems_client/models/get_all_shared_repository_limits_response_getallsharedrepositorylimits.py +0 -46
  57. robosystems_client/models/get_current_graph_bill_response_getcurrentgraphbill.py +0 -44
  58. robosystems_client/models/get_graph_billing_history_response_getgraphbillinghistory.py +0 -44
  59. robosystems_client/models/get_graph_monthly_bill_response_getgraphmonthlybill.py +0 -44
  60. robosystems_client/models/get_shared_repository_limits_response_getsharedrepositorylimits.py +0 -44
  61. robosystems_client/models/repository_credits_response.py +0 -128
  62. robosystems_client/models/repository_plan.py +0 -10
  63. robosystems_client/models/repository_type.py +0 -10
  64. robosystems_client/models/subscription_info.py +0 -152
  65. robosystems_client/models/subscription_info_metadata.py +0 -44
  66. robosystems_client/models/subscription_request.py +0 -80
  67. robosystems_client/models/user_analytics_response.py +0 -132
  68. robosystems_client/models/user_analytics_response_graph_usage.py +0 -44
  69. robosystems_client/models/user_analytics_response_recent_activity_item.py +0 -44
  70. robosystems_client/models/user_analytics_response_user_info.py +0 -44
  71. robosystems_client/models/user_graph_summary.py +0 -134
  72. robosystems_client/models/user_subscriptions_response.py +0 -90
  73. robosystems_client/models/user_usage_summary_response.py +0 -130
  74. robosystems_client/models/user_usage_summary_response_usage_vs_limits.py +0 -44
  75. /robosystems_client/api/{graph_analytics → billing}/__init__.py +0 -0
  76. /robosystems_client/api/{graph_billing → credits_}/__init__.py +0 -0
  77. /robosystems_client/api/{graph_credits → credits_}/check_credit_balance.py +0 -0
  78. /robosystems_client/api/{graph_credits → credits_}/check_storage_limits.py +0 -0
  79. /robosystems_client/api/{graph_credits → credits_}/get_credit_summary.py +0 -0
  80. /robosystems_client/api/{graph_credits → credits_}/get_storage_usage.py +0 -0
  81. /robosystems_client/api/{graph_credits → credits_}/list_credit_transactions.py +0 -0
  82. /robosystems_client/api/{graph_credits → subscriptions}/__init__.py +0 -0
  83. /robosystems_client/api/{user_analytics → usage}/__init__.py +0 -0
  84. /robosystems_client/api/{graph_analytics → usage}/get_graph_metrics.py +0 -0
  85. {robosystems_client-0.2.9.dist-info → robosystems_client-0.2.11.dist-info}/WHEEL +0 -0
  86. {robosystems_client-0.2.9.dist-info → robosystems_client-0.2.11.dist-info}/licenses/LICENSE +0 -0
@@ -1,132 +0,0 @@
1
- from collections.abc import Mapping
2
- from typing import TYPE_CHECKING, Any, TypeVar
3
-
4
- from attrs import define as _attrs_define
5
- from attrs import field as _attrs_field
6
-
7
- if TYPE_CHECKING:
8
- from ..models.user_analytics_response_api_usage import UserAnalyticsResponseApiUsage
9
- from ..models.user_analytics_response_graph_usage import (
10
- UserAnalyticsResponseGraphUsage,
11
- )
12
- from ..models.user_analytics_response_limits import UserAnalyticsResponseLimits
13
- from ..models.user_analytics_response_recent_activity_item import (
14
- UserAnalyticsResponseRecentActivityItem,
15
- )
16
- from ..models.user_analytics_response_user_info import UserAnalyticsResponseUserInfo
17
-
18
-
19
- T = TypeVar("T", bound="UserAnalyticsResponse")
20
-
21
-
22
- @_attrs_define
23
- class UserAnalyticsResponse:
24
- """Response model for comprehensive user analytics.
25
-
26
- Attributes:
27
- user_info (UserAnalyticsResponseUserInfo): User information
28
- graph_usage (UserAnalyticsResponseGraphUsage): Graph usage statistics
29
- api_usage (UserAnalyticsResponseApiUsage): API usage statistics
30
- limits (UserAnalyticsResponseLimits): Current limits and restrictions
31
- recent_activity (list['UserAnalyticsResponseRecentActivityItem']): Recent user activity
32
- timestamp (str): Analytics generation timestamp
33
- """
34
-
35
- user_info: "UserAnalyticsResponseUserInfo"
36
- graph_usage: "UserAnalyticsResponseGraphUsage"
37
- api_usage: "UserAnalyticsResponseApiUsage"
38
- limits: "UserAnalyticsResponseLimits"
39
- recent_activity: list["UserAnalyticsResponseRecentActivityItem"]
40
- timestamp: str
41
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
42
-
43
- def to_dict(self) -> dict[str, Any]:
44
- user_info = self.user_info.to_dict()
45
-
46
- graph_usage = self.graph_usage.to_dict()
47
-
48
- api_usage = self.api_usage.to_dict()
49
-
50
- limits = self.limits.to_dict()
51
-
52
- recent_activity = []
53
- for recent_activity_item_data in self.recent_activity:
54
- recent_activity_item = recent_activity_item_data.to_dict()
55
- recent_activity.append(recent_activity_item)
56
-
57
- timestamp = self.timestamp
58
-
59
- field_dict: dict[str, Any] = {}
60
- field_dict.update(self.additional_properties)
61
- field_dict.update(
62
- {
63
- "user_info": user_info,
64
- "graph_usage": graph_usage,
65
- "api_usage": api_usage,
66
- "limits": limits,
67
- "recent_activity": recent_activity,
68
- "timestamp": timestamp,
69
- }
70
- )
71
-
72
- return field_dict
73
-
74
- @classmethod
75
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
76
- from ..models.user_analytics_response_api_usage import UserAnalyticsResponseApiUsage
77
- from ..models.user_analytics_response_graph_usage import (
78
- UserAnalyticsResponseGraphUsage,
79
- )
80
- from ..models.user_analytics_response_limits import UserAnalyticsResponseLimits
81
- from ..models.user_analytics_response_recent_activity_item import (
82
- UserAnalyticsResponseRecentActivityItem,
83
- )
84
- from ..models.user_analytics_response_user_info import UserAnalyticsResponseUserInfo
85
-
86
- d = dict(src_dict)
87
- user_info = UserAnalyticsResponseUserInfo.from_dict(d.pop("user_info"))
88
-
89
- graph_usage = UserAnalyticsResponseGraphUsage.from_dict(d.pop("graph_usage"))
90
-
91
- api_usage = UserAnalyticsResponseApiUsage.from_dict(d.pop("api_usage"))
92
-
93
- limits = UserAnalyticsResponseLimits.from_dict(d.pop("limits"))
94
-
95
- recent_activity = []
96
- _recent_activity = d.pop("recent_activity")
97
- for recent_activity_item_data in _recent_activity:
98
- recent_activity_item = UserAnalyticsResponseRecentActivityItem.from_dict(
99
- recent_activity_item_data
100
- )
101
-
102
- recent_activity.append(recent_activity_item)
103
-
104
- timestamp = d.pop("timestamp")
105
-
106
- user_analytics_response = cls(
107
- user_info=user_info,
108
- graph_usage=graph_usage,
109
- api_usage=api_usage,
110
- limits=limits,
111
- recent_activity=recent_activity,
112
- timestamp=timestamp,
113
- )
114
-
115
- user_analytics_response.additional_properties = d
116
- return user_analytics_response
117
-
118
- @property
119
- def additional_keys(self) -> list[str]:
120
- return list(self.additional_properties.keys())
121
-
122
- def __getitem__(self, key: str) -> Any:
123
- return self.additional_properties[key]
124
-
125
- def __setitem__(self, key: str, value: Any) -> None:
126
- self.additional_properties[key] = value
127
-
128
- def __delitem__(self, key: str) -> None:
129
- del self.additional_properties[key]
130
-
131
- def __contains__(self, key: str) -> bool:
132
- return key in self.additional_properties
@@ -1,44 +0,0 @@
1
- from collections.abc import Mapping
2
- from typing import Any, TypeVar
3
-
4
- from attrs import define as _attrs_define
5
- from attrs import field as _attrs_field
6
-
7
- T = TypeVar("T", bound="UserAnalyticsResponseGraphUsage")
8
-
9
-
10
- @_attrs_define
11
- class UserAnalyticsResponseGraphUsage:
12
- """Graph usage statistics"""
13
-
14
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
-
16
- def to_dict(self) -> dict[str, Any]:
17
- field_dict: dict[str, Any] = {}
18
- field_dict.update(self.additional_properties)
19
-
20
- return field_dict
21
-
22
- @classmethod
23
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
- d = dict(src_dict)
25
- user_analytics_response_graph_usage = cls()
26
-
27
- user_analytics_response_graph_usage.additional_properties = d
28
- return user_analytics_response_graph_usage
29
-
30
- @property
31
- def additional_keys(self) -> list[str]:
32
- return list(self.additional_properties.keys())
33
-
34
- def __getitem__(self, key: str) -> Any:
35
- return self.additional_properties[key]
36
-
37
- def __setitem__(self, key: str, value: Any) -> None:
38
- self.additional_properties[key] = value
39
-
40
- def __delitem__(self, key: str) -> None:
41
- del self.additional_properties[key]
42
-
43
- def __contains__(self, key: str) -> bool:
44
- return key in self.additional_properties
@@ -1,44 +0,0 @@
1
- from collections.abc import Mapping
2
- from typing import Any, TypeVar
3
-
4
- from attrs import define as _attrs_define
5
- from attrs import field as _attrs_field
6
-
7
- T = TypeVar("T", bound="UserAnalyticsResponseRecentActivityItem")
8
-
9
-
10
- @_attrs_define
11
- class UserAnalyticsResponseRecentActivityItem:
12
- """ """
13
-
14
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
-
16
- def to_dict(self) -> dict[str, Any]:
17
- field_dict: dict[str, Any] = {}
18
- field_dict.update(self.additional_properties)
19
-
20
- return field_dict
21
-
22
- @classmethod
23
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
- d = dict(src_dict)
25
- user_analytics_response_recent_activity_item = cls()
26
-
27
- user_analytics_response_recent_activity_item.additional_properties = d
28
- return user_analytics_response_recent_activity_item
29
-
30
- @property
31
- def additional_keys(self) -> list[str]:
32
- return list(self.additional_properties.keys())
33
-
34
- def __getitem__(self, key: str) -> Any:
35
- return self.additional_properties[key]
36
-
37
- def __setitem__(self, key: str, value: Any) -> None:
38
- self.additional_properties[key] = value
39
-
40
- def __delitem__(self, key: str) -> None:
41
- del self.additional_properties[key]
42
-
43
- def __contains__(self, key: str) -> bool:
44
- return key in self.additional_properties
@@ -1,44 +0,0 @@
1
- from collections.abc import Mapping
2
- from typing import Any, TypeVar
3
-
4
- from attrs import define as _attrs_define
5
- from attrs import field as _attrs_field
6
-
7
- T = TypeVar("T", bound="UserAnalyticsResponseUserInfo")
8
-
9
-
10
- @_attrs_define
11
- class UserAnalyticsResponseUserInfo:
12
- """User information"""
13
-
14
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
-
16
- def to_dict(self) -> dict[str, Any]:
17
- field_dict: dict[str, Any] = {}
18
- field_dict.update(self.additional_properties)
19
-
20
- return field_dict
21
-
22
- @classmethod
23
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
- d = dict(src_dict)
25
- user_analytics_response_user_info = cls()
26
-
27
- user_analytics_response_user_info.additional_properties = d
28
- return user_analytics_response_user_info
29
-
30
- @property
31
- def additional_keys(self) -> list[str]:
32
- return list(self.additional_properties.keys())
33
-
34
- def __getitem__(self, key: str) -> Any:
35
- return self.additional_properties[key]
36
-
37
- def __setitem__(self, key: str, value: Any) -> None:
38
- self.additional_properties[key] = value
39
-
40
- def __delitem__(self, key: str) -> None:
41
- del self.additional_properties[key]
42
-
43
- def __contains__(self, key: str) -> bool:
44
- return key in self.additional_properties
@@ -1,134 +0,0 @@
1
- from collections.abc import Mapping
2
- from typing import Any, TypeVar, Union, cast
3
-
4
- from attrs import define as _attrs_define
5
- from attrs import field as _attrs_field
6
-
7
- from ..types import UNSET, Unset
8
-
9
- T = TypeVar("T", bound="UserGraphSummary")
10
-
11
-
12
- @_attrs_define
13
- class UserGraphSummary:
14
- """Summary of a single graph for user analytics.
15
-
16
- Attributes:
17
- graph_id (str): Graph database identifier
18
- role (str): User's role in this graph
19
- total_nodes (int): Total number of nodes
20
- total_relationships (int): Total number of relationships
21
- estimated_size_mb (float): Estimated database size in MB
22
- graph_name (Union[None, Unset, str]): Display name for the graph
23
- last_accessed (Union[None, Unset, str]): Last access timestamp
24
- """
25
-
26
- graph_id: str
27
- role: str
28
- total_nodes: int
29
- total_relationships: int
30
- estimated_size_mb: float
31
- graph_name: Union[None, Unset, str] = UNSET
32
- last_accessed: Union[None, Unset, str] = UNSET
33
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
34
-
35
- def to_dict(self) -> dict[str, Any]:
36
- graph_id = self.graph_id
37
-
38
- role = self.role
39
-
40
- total_nodes = self.total_nodes
41
-
42
- total_relationships = self.total_relationships
43
-
44
- estimated_size_mb = self.estimated_size_mb
45
-
46
- graph_name: Union[None, Unset, str]
47
- if isinstance(self.graph_name, Unset):
48
- graph_name = UNSET
49
- else:
50
- graph_name = self.graph_name
51
-
52
- last_accessed: Union[None, Unset, str]
53
- if isinstance(self.last_accessed, Unset):
54
- last_accessed = UNSET
55
- else:
56
- last_accessed = self.last_accessed
57
-
58
- field_dict: dict[str, Any] = {}
59
- field_dict.update(self.additional_properties)
60
- field_dict.update(
61
- {
62
- "graph_id": graph_id,
63
- "role": role,
64
- "total_nodes": total_nodes,
65
- "total_relationships": total_relationships,
66
- "estimated_size_mb": estimated_size_mb,
67
- }
68
- )
69
- if graph_name is not UNSET:
70
- field_dict["graph_name"] = graph_name
71
- if last_accessed is not UNSET:
72
- field_dict["last_accessed"] = last_accessed
73
-
74
- return field_dict
75
-
76
- @classmethod
77
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
78
- d = dict(src_dict)
79
- graph_id = d.pop("graph_id")
80
-
81
- role = d.pop("role")
82
-
83
- total_nodes = d.pop("total_nodes")
84
-
85
- total_relationships = d.pop("total_relationships")
86
-
87
- estimated_size_mb = d.pop("estimated_size_mb")
88
-
89
- def _parse_graph_name(data: object) -> Union[None, Unset, str]:
90
- if data is None:
91
- return data
92
- if isinstance(data, Unset):
93
- return data
94
- return cast(Union[None, Unset, str], data)
95
-
96
- graph_name = _parse_graph_name(d.pop("graph_name", UNSET))
97
-
98
- def _parse_last_accessed(data: object) -> Union[None, Unset, str]:
99
- if data is None:
100
- return data
101
- if isinstance(data, Unset):
102
- return data
103
- return cast(Union[None, Unset, str], data)
104
-
105
- last_accessed = _parse_last_accessed(d.pop("last_accessed", UNSET))
106
-
107
- user_graph_summary = cls(
108
- graph_id=graph_id,
109
- role=role,
110
- total_nodes=total_nodes,
111
- total_relationships=total_relationships,
112
- estimated_size_mb=estimated_size_mb,
113
- graph_name=graph_name,
114
- last_accessed=last_accessed,
115
- )
116
-
117
- user_graph_summary.additional_properties = d
118
- return user_graph_summary
119
-
120
- @property
121
- def additional_keys(self) -> list[str]:
122
- return list(self.additional_properties.keys())
123
-
124
- def __getitem__(self, key: str) -> Any:
125
- return self.additional_properties[key]
126
-
127
- def __setitem__(self, key: str, value: Any) -> None:
128
- self.additional_properties[key] = value
129
-
130
- def __delitem__(self, key: str) -> None:
131
- del self.additional_properties[key]
132
-
133
- def __contains__(self, key: str) -> bool:
134
- return key in self.additional_properties
@@ -1,90 +0,0 @@
1
- from collections.abc import Mapping
2
- from typing import TYPE_CHECKING, Any, TypeVar
3
-
4
- from attrs import define as _attrs_define
5
- from attrs import field as _attrs_field
6
-
7
- if TYPE_CHECKING:
8
- from ..models.subscription_info import SubscriptionInfo
9
-
10
-
11
- T = TypeVar("T", bound="UserSubscriptionsResponse")
12
-
13
-
14
- @_attrs_define
15
- class UserSubscriptionsResponse:
16
- """Response for user subscriptions.
17
-
18
- Attributes:
19
- subscriptions (list['SubscriptionInfo']): List of user subscriptions
20
- total_count (int): Total number of subscriptions
21
- active_count (int): Number of active subscriptions
22
- """
23
-
24
- subscriptions: list["SubscriptionInfo"]
25
- total_count: int
26
- active_count: int
27
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
28
-
29
- def to_dict(self) -> dict[str, Any]:
30
- subscriptions = []
31
- for subscriptions_item_data in self.subscriptions:
32
- subscriptions_item = subscriptions_item_data.to_dict()
33
- subscriptions.append(subscriptions_item)
34
-
35
- total_count = self.total_count
36
-
37
- active_count = self.active_count
38
-
39
- field_dict: dict[str, Any] = {}
40
- field_dict.update(self.additional_properties)
41
- field_dict.update(
42
- {
43
- "subscriptions": subscriptions,
44
- "total_count": total_count,
45
- "active_count": active_count,
46
- }
47
- )
48
-
49
- return field_dict
50
-
51
- @classmethod
52
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
53
- from ..models.subscription_info import SubscriptionInfo
54
-
55
- d = dict(src_dict)
56
- subscriptions = []
57
- _subscriptions = d.pop("subscriptions")
58
- for subscriptions_item_data in _subscriptions:
59
- subscriptions_item = SubscriptionInfo.from_dict(subscriptions_item_data)
60
-
61
- subscriptions.append(subscriptions_item)
62
-
63
- total_count = d.pop("total_count")
64
-
65
- active_count = d.pop("active_count")
66
-
67
- user_subscriptions_response = cls(
68
- subscriptions=subscriptions,
69
- total_count=total_count,
70
- active_count=active_count,
71
- )
72
-
73
- user_subscriptions_response.additional_properties = d
74
- return user_subscriptions_response
75
-
76
- @property
77
- def additional_keys(self) -> list[str]:
78
- return list(self.additional_properties.keys())
79
-
80
- def __getitem__(self, key: str) -> Any:
81
- return self.additional_properties[key]
82
-
83
- def __setitem__(self, key: str, value: Any) -> None:
84
- self.additional_properties[key] = value
85
-
86
- def __delitem__(self, key: str) -> None:
87
- del self.additional_properties[key]
88
-
89
- def __contains__(self, key: str) -> bool:
90
- return key in self.additional_properties
@@ -1,130 +0,0 @@
1
- from collections.abc import Mapping
2
- from typing import TYPE_CHECKING, Any, TypeVar
3
-
4
- from attrs import define as _attrs_define
5
- from attrs import field as _attrs_field
6
-
7
- if TYPE_CHECKING:
8
- from ..models.user_graph_summary import UserGraphSummary
9
- from ..models.user_usage_summary_response_usage_vs_limits import (
10
- UserUsageSummaryResponseUsageVsLimits,
11
- )
12
-
13
-
14
- T = TypeVar("T", bound="UserUsageSummaryResponse")
15
-
16
-
17
- @_attrs_define
18
- class UserUsageSummaryResponse:
19
- """Response model for user usage summary.
20
-
21
- Attributes:
22
- user_id (str): User identifier
23
- graph_count (int): Number of accessible graphs
24
- total_nodes (int): Total nodes across all graphs
25
- total_relationships (int): Total relationships across all graphs
26
- usage_vs_limits (UserUsageSummaryResponseUsageVsLimits): Usage compared to limits
27
- graphs (list['UserGraphSummary']): Summary of each graph
28
- timestamp (str): Summary generation timestamp
29
- """
30
-
31
- user_id: str
32
- graph_count: int
33
- total_nodes: int
34
- total_relationships: int
35
- usage_vs_limits: "UserUsageSummaryResponseUsageVsLimits"
36
- graphs: list["UserGraphSummary"]
37
- timestamp: str
38
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
39
-
40
- def to_dict(self) -> dict[str, Any]:
41
- user_id = self.user_id
42
-
43
- graph_count = self.graph_count
44
-
45
- total_nodes = self.total_nodes
46
-
47
- total_relationships = self.total_relationships
48
-
49
- usage_vs_limits = self.usage_vs_limits.to_dict()
50
-
51
- graphs = []
52
- for graphs_item_data in self.graphs:
53
- graphs_item = graphs_item_data.to_dict()
54
- graphs.append(graphs_item)
55
-
56
- timestamp = self.timestamp
57
-
58
- field_dict: dict[str, Any] = {}
59
- field_dict.update(self.additional_properties)
60
- field_dict.update(
61
- {
62
- "user_id": user_id,
63
- "graph_count": graph_count,
64
- "total_nodes": total_nodes,
65
- "total_relationships": total_relationships,
66
- "usage_vs_limits": usage_vs_limits,
67
- "graphs": graphs,
68
- "timestamp": timestamp,
69
- }
70
- )
71
-
72
- return field_dict
73
-
74
- @classmethod
75
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
76
- from ..models.user_graph_summary import UserGraphSummary
77
- from ..models.user_usage_summary_response_usage_vs_limits import (
78
- UserUsageSummaryResponseUsageVsLimits,
79
- )
80
-
81
- d = dict(src_dict)
82
- user_id = d.pop("user_id")
83
-
84
- graph_count = d.pop("graph_count")
85
-
86
- total_nodes = d.pop("total_nodes")
87
-
88
- total_relationships = d.pop("total_relationships")
89
-
90
- usage_vs_limits = UserUsageSummaryResponseUsageVsLimits.from_dict(
91
- d.pop("usage_vs_limits")
92
- )
93
-
94
- graphs = []
95
- _graphs = d.pop("graphs")
96
- for graphs_item_data in _graphs:
97
- graphs_item = UserGraphSummary.from_dict(graphs_item_data)
98
-
99
- graphs.append(graphs_item)
100
-
101
- timestamp = d.pop("timestamp")
102
-
103
- user_usage_summary_response = cls(
104
- user_id=user_id,
105
- graph_count=graph_count,
106
- total_nodes=total_nodes,
107
- total_relationships=total_relationships,
108
- usage_vs_limits=usage_vs_limits,
109
- graphs=graphs,
110
- timestamp=timestamp,
111
- )
112
-
113
- user_usage_summary_response.additional_properties = d
114
- return user_usage_summary_response
115
-
116
- @property
117
- def additional_keys(self) -> list[str]:
118
- return list(self.additional_properties.keys())
119
-
120
- def __getitem__(self, key: str) -> Any:
121
- return self.additional_properties[key]
122
-
123
- def __setitem__(self, key: str, value: Any) -> None:
124
- self.additional_properties[key] = value
125
-
126
- def __delitem__(self, key: str) -> None:
127
- del self.additional_properties[key]
128
-
129
- def __contains__(self, key: str) -> bool:
130
- return key in self.additional_properties
@@ -1,44 +0,0 @@
1
- from collections.abc import Mapping
2
- from typing import Any, TypeVar
3
-
4
- from attrs import define as _attrs_define
5
- from attrs import field as _attrs_field
6
-
7
- T = TypeVar("T", bound="UserUsageSummaryResponseUsageVsLimits")
8
-
9
-
10
- @_attrs_define
11
- class UserUsageSummaryResponseUsageVsLimits:
12
- """Usage compared to limits"""
13
-
14
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
-
16
- def to_dict(self) -> dict[str, Any]:
17
- field_dict: dict[str, Any] = {}
18
- field_dict.update(self.additional_properties)
19
-
20
- return field_dict
21
-
22
- @classmethod
23
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
- d = dict(src_dict)
25
- user_usage_summary_response_usage_vs_limits = cls()
26
-
27
- user_usage_summary_response_usage_vs_limits.additional_properties = d
28
- return user_usage_summary_response_usage_vs_limits
29
-
30
- @property
31
- def additional_keys(self) -> list[str]:
32
- return list(self.additional_properties.keys())
33
-
34
- def __getitem__(self, key: str) -> Any:
35
- return self.additional_properties[key]
36
-
37
- def __setitem__(self, key: str, value: Any) -> None:
38
- self.additional_properties[key] = value
39
-
40
- def __delitem__(self, key: str) -> None:
41
- del self.additional_properties[key]
42
-
43
- def __contains__(self, key: str) -> bool:
44
- return key in self.additional_properties