crypticorn 2.5.1__py3-none-any.whl → 2.5.3__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 (191) hide show
  1. crypticorn/cli/init.py +3 -0
  2. crypticorn/common/__init__.py +1 -0
  3. crypticorn/common/enums.py +3 -1
  4. crypticorn/common/errors.py +42 -21
  5. crypticorn/common/mixins.py +20 -0
  6. crypticorn/common/scopes.py +4 -20
  7. crypticorn/common/status_router.py +44 -0
  8. crypticorn/common/utils.py +13 -14
  9. crypticorn/hive/client/__init__.py +1 -5
  10. crypticorn/hive/client/api/data_api.py +1 -33
  11. crypticorn/hive/client/api/models_api.py +8 -104
  12. crypticorn/hive/client/api/status_api.py +481 -9
  13. crypticorn/hive/client/configuration.py +12 -4
  14. crypticorn/hive/client/models/__init__.py +1 -5
  15. crypticorn/hive/client/models/coins.py +0 -1
  16. crypticorn/hive/client/models/data_version.py +0 -1
  17. crypticorn/{metrics/client/models/error_response.py → hive/client/models/exception_detail.py} +26 -21
  18. crypticorn/hive/client/rest.py +4 -1
  19. crypticorn/klines/client/__init__.py +0 -5
  20. crypticorn/klines/client/api/change_in_timeframe_api.py +8 -9
  21. crypticorn/klines/client/api/ohlcv_data_api.py +7 -8
  22. crypticorn/klines/client/api/status_api.py +481 -6
  23. crypticorn/klines/client/api/symbols_api.py +7 -8
  24. crypticorn/klines/client/api/udf_api.py +0 -227
  25. crypticorn/klines/client/models/__init__.py +0 -5
  26. crypticorn/klines/client/models/exception_detail.py +3 -6
  27. crypticorn/klines/client/models/search_symbol.py +4 -3
  28. crypticorn/klines/client/models/udf_config.py +1 -2
  29. crypticorn/metrics/client/__init__.py +1 -6
  30. crypticorn/metrics/client/api/exchanges_api.py +29 -31
  31. crypticorn/metrics/client/api/indicators_api.py +15 -16
  32. crypticorn/metrics/client/api/logs_api.py +1 -1
  33. crypticorn/metrics/client/api/marketcap_api.py +15 -16
  34. crypticorn/metrics/client/api/markets_api.py +15 -16
  35. crypticorn/metrics/client/api/status_api.py +477 -2
  36. crypticorn/metrics/client/api/tokens_api.py +1 -1
  37. crypticorn/metrics/client/api_client.py +1 -1
  38. crypticorn/metrics/client/configuration.py +3 -5
  39. crypticorn/metrics/client/exceptions.py +1 -1
  40. crypticorn/metrics/client/models/__init__.py +1 -6
  41. crypticorn/metrics/client/models/exception_detail.py +4 -7
  42. crypticorn/metrics/client/models/severity.py +1 -1
  43. crypticorn/metrics/client/models/time_interval.py +1 -1
  44. crypticorn/metrics/client/models/trading_status.py +1 -1
  45. crypticorn/metrics/client/rest.py +1 -1
  46. crypticorn/pay/client/__init__.py +3 -8
  47. crypticorn/pay/client/api/now_payments_api.py +14 -17
  48. crypticorn/pay/client/api/payments_api.py +2 -11
  49. crypticorn/pay/client/api/products_api.py +2 -11
  50. crypticorn/pay/client/api/status_api.py +483 -8
  51. crypticorn/pay/client/api_client.py +2 -2
  52. crypticorn/pay/client/configuration.py +3 -3
  53. crypticorn/pay/client/exceptions.py +2 -2
  54. crypticorn/pay/client/models/__init__.py +3 -8
  55. crypticorn/{metrics/client/models/base_response_dict.py → pay/client/models/exception_detail.py} +28 -20
  56. crypticorn/pay/client/models/now_create_invoice_req.py +2 -2
  57. crypticorn/pay/client/models/now_create_invoice_res.py +2 -2
  58. crypticorn/pay/client/models/payment.py +2 -2
  59. crypticorn/pay/client/models/payment_status.py +2 -2
  60. crypticorn/pay/client/models/product_create.py +2 -2
  61. crypticorn/pay/client/models/product_read.py +2 -2
  62. crypticorn/pay/client/models/product_sub_read.py +2 -2
  63. crypticorn/pay/client/models/product_update.py +2 -2
  64. crypticorn/pay/client/models/scope.py +2 -2
  65. crypticorn/pay/client/models/services.py +2 -2
  66. crypticorn/pay/client/rest.py +2 -2
  67. crypticorn/trade/client/__init__.py +4 -9
  68. crypticorn/trade/client/api/api_keys_api.py +5 -20
  69. crypticorn/trade/client/api/bots_api.py +7 -19
  70. crypticorn/trade/client/api/exchanges_api.py +8 -8
  71. crypticorn/trade/client/api/futures_trading_panel_api.py +10 -22
  72. crypticorn/trade/client/api/notifications_api.py +10 -25
  73. crypticorn/trade/client/api/orders_api.py +2 -5
  74. crypticorn/trade/client/api/status_api.py +483 -8
  75. crypticorn/trade/client/api/strategies_api.py +5 -17
  76. crypticorn/trade/client/api/trading_actions_api.py +18 -26
  77. crypticorn/trade/client/api_client.py +2 -2
  78. crypticorn/trade/client/configuration.py +5 -5
  79. crypticorn/trade/client/exceptions.py +2 -2
  80. crypticorn/trade/client/models/__init__.py +4 -9
  81. crypticorn/trade/client/models/action_model.py +3 -4
  82. crypticorn/trade/client/models/bot_model.py +2 -2
  83. crypticorn/trade/client/models/bot_status.py +2 -2
  84. crypticorn/{klines/client/models/error_response.py → trade/client/models/exception_detail.py} +26 -21
  85. crypticorn/trade/client/models/exchange_key_model.py +4 -13
  86. crypticorn/trade/client/models/execution_ids.py +2 -2
  87. crypticorn/trade/client/models/futures_balance.py +2 -2
  88. crypticorn/trade/client/models/futures_trading_action.py +3 -4
  89. crypticorn/trade/client/models/margin_mode.py +2 -2
  90. crypticorn/trade/client/models/notification_model.py +2 -2
  91. crypticorn/trade/client/models/order_model.py +6 -16
  92. crypticorn/trade/client/models/order_status.py +2 -2
  93. crypticorn/trade/client/models/post_futures_action.py +2 -2
  94. crypticorn/trade/client/models/spot_trading_action.py +3 -4
  95. crypticorn/trade/client/models/strategy_exchange_info.py +4 -5
  96. crypticorn/trade/client/models/strategy_model_input.py +3 -4
  97. crypticorn/trade/client/models/strategy_model_output.py +3 -4
  98. crypticorn/trade/client/models/tpsl.py +5 -3
  99. crypticorn/trade/client/models/trading_action_type.py +2 -2
  100. crypticorn/trade/client/rest.py +2 -2
  101. {crypticorn-2.5.1.dist-info → crypticorn-2.5.3.dist-info}/METADATA +1 -1
  102. crypticorn-2.5.3.dist-info/RECORD +223 -0
  103. crypticorn/hive/client/models/http_validation_error.py +0 -99
  104. crypticorn/hive/client/models/validation_error.py +0 -105
  105. crypticorn/hive/client/models/validation_error_loc_inner.py +0 -159
  106. crypticorn/klines/client/api/health_check_api.py +0 -265
  107. crypticorn/klines/client/models/api_error_identifier.py +0 -108
  108. crypticorn/klines/client/models/api_error_level.py +0 -37
  109. crypticorn/klines/client/models/api_error_type.py +0 -37
  110. crypticorn/klines/client/models/base_response_health_check_response.py +0 -114
  111. crypticorn/klines/client/models/base_response_list_change_in_timeframe_response.py +0 -123
  112. crypticorn/klines/client/models/base_response_list_funding_rate_response.py +0 -118
  113. crypticorn/klines/client/models/base_response_list_str.py +0 -106
  114. crypticorn/klines/client/models/base_response_ohlcv_response.py +0 -114
  115. crypticorn/klines/client/models/change_in_timeframe_response.py +0 -86
  116. crypticorn/klines/client/models/exchange.py +0 -91
  117. crypticorn/klines/client/models/funding_rate_response.py +0 -92
  118. crypticorn/klines/client/models/health_check_response.py +0 -91
  119. crypticorn/klines/client/models/history_error_response.py +0 -89
  120. crypticorn/klines/client/models/history_no_data_response.py +0 -99
  121. crypticorn/klines/client/models/history_success_response.py +0 -99
  122. crypticorn/klines/client/models/http_validation_error.py +0 -99
  123. crypticorn/klines/client/models/internal_exchange.py +0 -39
  124. crypticorn/klines/client/models/market.py +0 -35
  125. crypticorn/klines/client/models/market_type.py +0 -35
  126. crypticorn/klines/client/models/ohlcv_response.py +0 -105
  127. crypticorn/klines/client/models/response_get_history_udf_history_get.py +0 -198
  128. crypticorn/klines/client/models/response_get_udf_history.py +0 -198
  129. crypticorn/klines/client/models/search_symbol_response.py +0 -104
  130. crypticorn/klines/client/models/symbol_group_response.py +0 -83
  131. crypticorn/klines/client/models/symbol_info_response.py +0 -131
  132. crypticorn/klines/client/models/udf_config_response.py +0 -160
  133. crypticorn/klines/client/models/validation_error.py +0 -105
  134. crypticorn/klines/client/models/validation_error_loc_inner.py +0 -159
  135. crypticorn/metrics/client/api/health_check_api.py +0 -265
  136. crypticorn/metrics/client/models/api_error_identifier.py +0 -108
  137. crypticorn/metrics/client/models/api_error_level.py +0 -37
  138. crypticorn/metrics/client/models/api_error_type.py +0 -37
  139. crypticorn/metrics/client/models/base_response_health_check_response.py +0 -114
  140. crypticorn/metrics/client/models/base_response_list_dict.py +0 -106
  141. crypticorn/metrics/client/models/base_response_list_exchange_mapping.py +0 -118
  142. crypticorn/metrics/client/models/base_response_list_str.py +0 -106
  143. crypticorn/metrics/client/models/exchange_mapping.py +0 -134
  144. crypticorn/metrics/client/models/health_check_response.py +0 -91
  145. crypticorn/metrics/client/models/http_validation_error.py +0 -99
  146. crypticorn/metrics/client/models/internal_exchange.py +0 -39
  147. crypticorn/metrics/client/models/market.py +0 -35
  148. crypticorn/metrics/client/models/market_type.py +0 -35
  149. crypticorn/metrics/client/models/validation_error.py +0 -105
  150. crypticorn/metrics/client/models/validation_error_loc_inner.py +0 -159
  151. crypticorn/pay/client/models/api_status_res.py +0 -83
  152. crypticorn/pay/client/models/body_create_now_invoice.py +0 -98
  153. crypticorn/pay/client/models/body_create_product.py +0 -98
  154. crypticorn/pay/client/models/body_get_products.py +0 -87
  155. crypticorn/pay/client/models/body_handle_now_webhook.py +0 -98
  156. crypticorn/pay/client/models/body_update_product.py +0 -98
  157. crypticorn/pay/client/models/combined_payment_history.py +0 -101
  158. crypticorn/pay/client/models/create_invoice_req.py +0 -188
  159. crypticorn/pay/client/models/create_invoice_res.py +0 -188
  160. crypticorn/pay/client/models/currency.py +0 -165
  161. crypticorn/pay/client/models/estimate_price_req.py +0 -91
  162. crypticorn/pay/client/models/estimate_price_res.py +0 -102
  163. crypticorn/pay/client/models/get_currencies_res.py +0 -99
  164. crypticorn/pay/client/models/get_payment_status_res.py +0 -222
  165. crypticorn/pay/client/models/get_payments_list_res.py +0 -109
  166. crypticorn/pay/client/models/http_validation_error.py +0 -99
  167. crypticorn/pay/client/models/min_amount_req.py +0 -124
  168. crypticorn/pay/client/models/min_amount_res.py +0 -105
  169. crypticorn/pay/client/models/now_api_status_res.py +0 -83
  170. crypticorn/pay/client/models/now_fee_structure.py +0 -104
  171. crypticorn/pay/client/models/now_payment_model.py +0 -124
  172. crypticorn/pay/client/models/now_payment_status.py +0 -42
  173. crypticorn/pay/client/models/now_webhook_payload.py +0 -181
  174. crypticorn/pay/client/models/partial_product_update_model.py +0 -150
  175. crypticorn/pay/client/models/product.py +0 -87
  176. crypticorn/pay/client/models/product_model.py +0 -128
  177. crypticorn/pay/client/models/product_subs_model.py +0 -108
  178. crypticorn/pay/client/models/product_update_model.py +0 -150
  179. crypticorn/pay/client/models/unified_payment_model.py +0 -112
  180. crypticorn/pay/client/models/validation_error.py +0 -105
  181. crypticorn/pay/client/models/validation_error_loc_inner.py +0 -159
  182. crypticorn/trade/client/models/api_key_model.py +0 -156
  183. crypticorn/trade/client/models/exchange.py +0 -35
  184. crypticorn/trade/client/models/http_validation_error.py +0 -99
  185. crypticorn/trade/client/models/market_type.py +0 -35
  186. crypticorn/trade/client/models/validation_error.py +0 -105
  187. crypticorn/trade/client/models/validation_error_loc_inner.py +0 -159
  188. crypticorn-2.5.1.dist-info/RECORD +0 -307
  189. {crypticorn-2.5.1.dist-info → crypticorn-2.5.3.dist-info}/WHEEL +0 -0
  190. {crypticorn-2.5.1.dist-info → crypticorn-2.5.3.dist-info}/entry_points.txt +0 -0
  191. {crypticorn-2.5.1.dist-info → crypticorn-2.5.3.dist-info}/top_level.txt +0 -0
@@ -1,98 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- Payment API
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
-
15
- from __future__ import annotations
16
- import pprint
17
- import re # noqa: F401
18
- import json
19
-
20
- from pydantic import BaseModel, ConfigDict
21
- from typing import Any, ClassVar, Dict, List, Optional
22
- from crypticorn.pay.client.models.product_model import ProductModel
23
- from crypticorn.pay.client.models.scope import Scope
24
- from typing import Optional, Set
25
- from typing_extensions import Self
26
-
27
-
28
- class BodyCreateProduct(BaseModel):
29
- """
30
- BodyCreateProduct
31
- """ # noqa: E501
32
-
33
- product: ProductModel
34
- scopes: Optional[List[Scope]] = None
35
- __properties: ClassVar[List[str]] = ["product", "scopes"]
36
-
37
- model_config = ConfigDict(
38
- populate_by_name=True,
39
- validate_assignment=True,
40
- protected_namespaces=(),
41
- )
42
-
43
- def to_str(self) -> str:
44
- """Returns the string representation of the model using alias"""
45
- return pprint.pformat(self.model_dump(by_alias=True))
46
-
47
- def to_json(self) -> str:
48
- """Returns the JSON representation of the model using alias"""
49
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
- return json.dumps(self.to_dict())
51
-
52
- @classmethod
53
- def from_json(cls, json_str: str) -> Optional[Self]:
54
- """Create an instance of BodyCreateProduct from a JSON string"""
55
- return cls.from_dict(json.loads(json_str))
56
-
57
- def to_dict(self) -> Dict[str, Any]:
58
- """Return the dictionary representation of the model using alias.
59
-
60
- This has the following differences from calling pydantic's
61
- `self.model_dump(by_alias=True)`:
62
-
63
- * `None` is only added to the output dict for nullable fields that
64
- were set at model initialization. Other fields with value `None`
65
- are ignored.
66
- """
67
- excluded_fields: Set[str] = set([])
68
-
69
- _dict = self.model_dump(
70
- by_alias=True,
71
- exclude=excluded_fields,
72
- exclude_none=True,
73
- )
74
- # override the default output from pydantic by calling `to_dict()` of product
75
- if self.product:
76
- _dict["product"] = self.product.to_dict()
77
- return _dict
78
-
79
- @classmethod
80
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
- """Create an instance of BodyCreateProduct from a dict"""
82
- if obj is None:
83
- return None
84
-
85
- if not isinstance(obj, dict):
86
- return cls.model_validate(obj)
87
-
88
- _obj = cls.model_validate(
89
- {
90
- "product": (
91
- ProductModel.from_dict(obj["product"])
92
- if obj.get("product") is not None
93
- else None
94
- ),
95
- "scopes": obj.get("scopes"),
96
- }
97
- )
98
- return _obj
@@ -1,87 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- Payment API
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
-
15
- from __future__ import annotations
16
- import pprint
17
- import re # noqa: F401
18
- import json
19
-
20
- from pydantic import BaseModel, ConfigDict
21
- from typing import Any, ClassVar, Dict, List, Optional
22
- from crypticorn.pay.client.models.scope import Scope
23
- from typing import Optional, Set
24
- from typing_extensions import Self
25
-
26
-
27
- class BodyGetProducts(BaseModel):
28
- """
29
- BodyGetProducts
30
- """ # noqa: E501
31
-
32
- query: Optional[Dict[str, Any]] = None
33
- scopes: Optional[List[Scope]] = None
34
- __properties: ClassVar[List[str]] = ["query", "scopes"]
35
-
36
- model_config = ConfigDict(
37
- populate_by_name=True,
38
- validate_assignment=True,
39
- protected_namespaces=(),
40
- )
41
-
42
- def to_str(self) -> str:
43
- """Returns the string representation of the model using alias"""
44
- return pprint.pformat(self.model_dump(by_alias=True))
45
-
46
- def to_json(self) -> str:
47
- """Returns the JSON representation of the model using alias"""
48
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
- return json.dumps(self.to_dict())
50
-
51
- @classmethod
52
- def from_json(cls, json_str: str) -> Optional[Self]:
53
- """Create an instance of BodyGetProducts from a JSON string"""
54
- return cls.from_dict(json.loads(json_str))
55
-
56
- def to_dict(self) -> Dict[str, Any]:
57
- """Return the dictionary representation of the model using alias.
58
-
59
- This has the following differences from calling pydantic's
60
- `self.model_dump(by_alias=True)`:
61
-
62
- * `None` is only added to the output dict for nullable fields that
63
- were set at model initialization. Other fields with value `None`
64
- are ignored.
65
- """
66
- excluded_fields: Set[str] = set([])
67
-
68
- _dict = self.model_dump(
69
- by_alias=True,
70
- exclude=excluded_fields,
71
- exclude_none=True,
72
- )
73
- return _dict
74
-
75
- @classmethod
76
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
- """Create an instance of BodyGetProducts from a dict"""
78
- if obj is None:
79
- return None
80
-
81
- if not isinstance(obj, dict):
82
- return cls.model_validate(obj)
83
-
84
- _obj = cls.model_validate(
85
- {"query": obj.get("query"), "scopes": obj.get("scopes")}
86
- )
87
- return _obj
@@ -1,98 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- Payment API
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
-
15
- from __future__ import annotations
16
- import pprint
17
- import re # noqa: F401
18
- import json
19
-
20
- from pydantic import BaseModel, ConfigDict
21
- from typing import Any, ClassVar, Dict, List, Optional
22
- from crypticorn.pay.client.models.now_webhook_payload import NowWebhookPayload
23
- from crypticorn.pay.client.models.scope import Scope
24
- from typing import Optional, Set
25
- from typing_extensions import Self
26
-
27
-
28
- class BodyHandleNowWebhook(BaseModel):
29
- """
30
- BodyHandleNowWebhook
31
- """ # noqa: E501
32
-
33
- body: NowWebhookPayload
34
- scopes: Optional[List[Scope]] = None
35
- __properties: ClassVar[List[str]] = ["body", "scopes"]
36
-
37
- model_config = ConfigDict(
38
- populate_by_name=True,
39
- validate_assignment=True,
40
- protected_namespaces=(),
41
- )
42
-
43
- def to_str(self) -> str:
44
- """Returns the string representation of the model using alias"""
45
- return pprint.pformat(self.model_dump(by_alias=True))
46
-
47
- def to_json(self) -> str:
48
- """Returns the JSON representation of the model using alias"""
49
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
- return json.dumps(self.to_dict())
51
-
52
- @classmethod
53
- def from_json(cls, json_str: str) -> Optional[Self]:
54
- """Create an instance of BodyHandleNowWebhook from a JSON string"""
55
- return cls.from_dict(json.loads(json_str))
56
-
57
- def to_dict(self) -> Dict[str, Any]:
58
- """Return the dictionary representation of the model using alias.
59
-
60
- This has the following differences from calling pydantic's
61
- `self.model_dump(by_alias=True)`:
62
-
63
- * `None` is only added to the output dict for nullable fields that
64
- were set at model initialization. Other fields with value `None`
65
- are ignored.
66
- """
67
- excluded_fields: Set[str] = set([])
68
-
69
- _dict = self.model_dump(
70
- by_alias=True,
71
- exclude=excluded_fields,
72
- exclude_none=True,
73
- )
74
- # override the default output from pydantic by calling `to_dict()` of body
75
- if self.body:
76
- _dict["body"] = self.body.to_dict()
77
- return _dict
78
-
79
- @classmethod
80
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
- """Create an instance of BodyHandleNowWebhook from a dict"""
82
- if obj is None:
83
- return None
84
-
85
- if not isinstance(obj, dict):
86
- return cls.model_validate(obj)
87
-
88
- _obj = cls.model_validate(
89
- {
90
- "body": (
91
- NowWebhookPayload.from_dict(obj["body"])
92
- if obj.get("body") is not None
93
- else None
94
- ),
95
- "scopes": obj.get("scopes"),
96
- }
97
- )
98
- return _obj
@@ -1,98 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- Payment API
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
-
15
- from __future__ import annotations
16
- import pprint
17
- import re # noqa: F401
18
- import json
19
-
20
- from pydantic import BaseModel, ConfigDict
21
- from typing import Any, ClassVar, Dict, List, Optional
22
- from crypticorn.pay.client.models.product_model import ProductModel
23
- from crypticorn.pay.client.models.scope import Scope
24
- from typing import Optional, Set
25
- from typing_extensions import Self
26
-
27
-
28
- class BodyUpdateProduct(BaseModel):
29
- """
30
- BodyUpdateProduct
31
- """ # noqa: E501
32
-
33
- product: ProductModel
34
- scopes: Optional[List[Scope]] = None
35
- __properties: ClassVar[List[str]] = ["product", "scopes"]
36
-
37
- model_config = ConfigDict(
38
- populate_by_name=True,
39
- validate_assignment=True,
40
- protected_namespaces=(),
41
- )
42
-
43
- def to_str(self) -> str:
44
- """Returns the string representation of the model using alias"""
45
- return pprint.pformat(self.model_dump(by_alias=True))
46
-
47
- def to_json(self) -> str:
48
- """Returns the JSON representation of the model using alias"""
49
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
- return json.dumps(self.to_dict())
51
-
52
- @classmethod
53
- def from_json(cls, json_str: str) -> Optional[Self]:
54
- """Create an instance of BodyUpdateProduct from a JSON string"""
55
- return cls.from_dict(json.loads(json_str))
56
-
57
- def to_dict(self) -> Dict[str, Any]:
58
- """Return the dictionary representation of the model using alias.
59
-
60
- This has the following differences from calling pydantic's
61
- `self.model_dump(by_alias=True)`:
62
-
63
- * `None` is only added to the output dict for nullable fields that
64
- were set at model initialization. Other fields with value `None`
65
- are ignored.
66
- """
67
- excluded_fields: Set[str] = set([])
68
-
69
- _dict = self.model_dump(
70
- by_alias=True,
71
- exclude=excluded_fields,
72
- exclude_none=True,
73
- )
74
- # override the default output from pydantic by calling `to_dict()` of product
75
- if self.product:
76
- _dict["product"] = self.product.to_dict()
77
- return _dict
78
-
79
- @classmethod
80
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
- """Create an instance of BodyUpdateProduct from a dict"""
82
- if obj is None:
83
- return None
84
-
85
- if not isinstance(obj, dict):
86
- return cls.model_validate(obj)
87
-
88
- _obj = cls.model_validate(
89
- {
90
- "product": (
91
- ProductModel.from_dict(obj["product"])
92
- if obj.get("product") is not None
93
- else None
94
- ),
95
- "scopes": obj.get("scopes"),
96
- }
97
- )
98
- return _obj
@@ -1,101 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- Payment API
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
-
15
- from __future__ import annotations
16
- import pprint
17
- import re # noqa: F401
18
- import json
19
-
20
- from pydantic import BaseModel, ConfigDict, Field
21
- from typing import Any, ClassVar, Dict, List, Optional
22
- from crypticorn.pay.client.models.now_payment_model import NowPaymentModel
23
- from typing import Optional, Set
24
- from typing_extensions import Self
25
-
26
-
27
- class CombinedPaymentHistory(BaseModel):
28
- """
29
- Combined payment history across all services
30
- """ # noqa: E501
31
-
32
- now: Optional[List[NowPaymentModel]] = Field(
33
- default=None, description="NOWPayments payment history"
34
- )
35
- __properties: ClassVar[List[str]] = ["now"]
36
-
37
- model_config = ConfigDict(
38
- populate_by_name=True,
39
- validate_assignment=True,
40
- protected_namespaces=(),
41
- )
42
-
43
- def to_str(self) -> str:
44
- """Returns the string representation of the model using alias"""
45
- return pprint.pformat(self.model_dump(by_alias=True))
46
-
47
- def to_json(self) -> str:
48
- """Returns the JSON representation of the model using alias"""
49
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
- return json.dumps(self.to_dict())
51
-
52
- @classmethod
53
- def from_json(cls, json_str: str) -> Optional[Self]:
54
- """Create an instance of CombinedPaymentHistory from a JSON string"""
55
- return cls.from_dict(json.loads(json_str))
56
-
57
- def to_dict(self) -> Dict[str, Any]:
58
- """Return the dictionary representation of the model using alias.
59
-
60
- This has the following differences from calling pydantic's
61
- `self.model_dump(by_alias=True)`:
62
-
63
- * `None` is only added to the output dict for nullable fields that
64
- were set at model initialization. Other fields with value `None`
65
- are ignored.
66
- """
67
- excluded_fields: Set[str] = set([])
68
-
69
- _dict = self.model_dump(
70
- by_alias=True,
71
- exclude=excluded_fields,
72
- exclude_none=True,
73
- )
74
- # override the default output from pydantic by calling `to_dict()` of each item in now (list)
75
- _items = []
76
- if self.now:
77
- for _item_now in self.now:
78
- if _item_now:
79
- _items.append(_item_now.to_dict())
80
- _dict["now"] = _items
81
- return _dict
82
-
83
- @classmethod
84
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85
- """Create an instance of CombinedPaymentHistory from a dict"""
86
- if obj is None:
87
- return None
88
-
89
- if not isinstance(obj, dict):
90
- return cls.model_validate(obj)
91
-
92
- _obj = cls.model_validate(
93
- {
94
- "now": (
95
- [NowPaymentModel.from_dict(_item) for _item in obj["now"]]
96
- if obj.get("now") is not None
97
- else None
98
- )
99
- }
100
- )
101
- return _obj
@@ -1,188 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- Payment API
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
-
15
- from __future__ import annotations
16
- import pprint
17
- import re # noqa: F401
18
- import json
19
-
20
- from pydantic import (
21
- BaseModel,
22
- ConfigDict,
23
- Field,
24
- StrictBool,
25
- StrictFloat,
26
- StrictInt,
27
- StrictStr,
28
- )
29
- from typing import Any, ClassVar, Dict, List, Optional, Union
30
- from typing import Optional, Set
31
- from typing_extensions import Self
32
-
33
-
34
- class CreateInvoiceReq(BaseModel):
35
- """
36
- Request model for creating a payment invoice. Creates a payment link where the customer can complete the payment. With this method, the customer is required to follow the generated url to complete the payment. https://documenter.getpostman.com/view/7907941/2s93JusNJt#f5e4e645-dce2-4b06-b2ca-2a29aaa5e845
37
- """ # noqa: E501
38
-
39
- price_amount: Union[StrictFloat, StrictInt] = Field(
40
- description="Amount to pay in fiat currency"
41
- )
42
- price_currency: StrictStr = Field(
43
- description="Fiat currency for the price (usd, eur, etc)"
44
- )
45
- pay_currency: Optional[StrictStr] = None
46
- ipn_callback_url: Optional[StrictStr] = None
47
- order_id: Optional[StrictStr] = None
48
- order_description: Optional[StrictStr] = None
49
- success_url: Optional[StrictStr] = None
50
- cancel_url: Optional[StrictStr] = None
51
- partially_paid_url: Optional[StrictStr] = None
52
- is_fixed_rate: Optional[StrictBool] = None
53
- is_fee_paid_by_user: Optional[StrictBool] = None
54
- __properties: ClassVar[List[str]] = [
55
- "price_amount",
56
- "price_currency",
57
- "pay_currency",
58
- "ipn_callback_url",
59
- "order_id",
60
- "order_description",
61
- "success_url",
62
- "cancel_url",
63
- "partially_paid_url",
64
- "is_fixed_rate",
65
- "is_fee_paid_by_user",
66
- ]
67
-
68
- model_config = ConfigDict(
69
- populate_by_name=True,
70
- validate_assignment=True,
71
- protected_namespaces=(),
72
- )
73
-
74
- def to_str(self) -> str:
75
- """Returns the string representation of the model using alias"""
76
- return pprint.pformat(self.model_dump(by_alias=True))
77
-
78
- def to_json(self) -> str:
79
- """Returns the JSON representation of the model using alias"""
80
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
81
- return json.dumps(self.to_dict())
82
-
83
- @classmethod
84
- def from_json(cls, json_str: str) -> Optional[Self]:
85
- """Create an instance of CreateInvoiceReq from a JSON string"""
86
- return cls.from_dict(json.loads(json_str))
87
-
88
- def to_dict(self) -> Dict[str, Any]:
89
- """Return the dictionary representation of the model using alias.
90
-
91
- This has the following differences from calling pydantic's
92
- `self.model_dump(by_alias=True)`:
93
-
94
- * `None` is only added to the output dict for nullable fields that
95
- were set at model initialization. Other fields with value `None`
96
- are ignored.
97
- """
98
- excluded_fields: Set[str] = set([])
99
-
100
- _dict = self.model_dump(
101
- by_alias=True,
102
- exclude=excluded_fields,
103
- exclude_none=True,
104
- )
105
- # set to None if pay_currency (nullable) is None
106
- # and model_fields_set contains the field
107
- if self.pay_currency is None and "pay_currency" in self.model_fields_set:
108
- _dict["pay_currency"] = None
109
-
110
- # set to None if ipn_callback_url (nullable) is None
111
- # and model_fields_set contains the field
112
- if (
113
- self.ipn_callback_url is None
114
- and "ipn_callback_url" in self.model_fields_set
115
- ):
116
- _dict["ipn_callback_url"] = None
117
-
118
- # set to None if order_id (nullable) is None
119
- # and model_fields_set contains the field
120
- if self.order_id is None and "order_id" in self.model_fields_set:
121
- _dict["order_id"] = None
122
-
123
- # set to None if order_description (nullable) is None
124
- # and model_fields_set contains the field
125
- if (
126
- self.order_description is None
127
- and "order_description" in self.model_fields_set
128
- ):
129
- _dict["order_description"] = None
130
-
131
- # set to None if success_url (nullable) is None
132
- # and model_fields_set contains the field
133
- if self.success_url is None and "success_url" in self.model_fields_set:
134
- _dict["success_url"] = None
135
-
136
- # set to None if cancel_url (nullable) is None
137
- # and model_fields_set contains the field
138
- if self.cancel_url is None and "cancel_url" in self.model_fields_set:
139
- _dict["cancel_url"] = None
140
-
141
- # set to None if partially_paid_url (nullable) is None
142
- # and model_fields_set contains the field
143
- if (
144
- self.partially_paid_url is None
145
- and "partially_paid_url" in self.model_fields_set
146
- ):
147
- _dict["partially_paid_url"] = None
148
-
149
- # set to None if is_fixed_rate (nullable) is None
150
- # and model_fields_set contains the field
151
- if self.is_fixed_rate is None and "is_fixed_rate" in self.model_fields_set:
152
- _dict["is_fixed_rate"] = None
153
-
154
- # set to None if is_fee_paid_by_user (nullable) is None
155
- # and model_fields_set contains the field
156
- if (
157
- self.is_fee_paid_by_user is None
158
- and "is_fee_paid_by_user" in self.model_fields_set
159
- ):
160
- _dict["is_fee_paid_by_user"] = None
161
-
162
- return _dict
163
-
164
- @classmethod
165
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
166
- """Create an instance of CreateInvoiceReq from a dict"""
167
- if obj is None:
168
- return None
169
-
170
- if not isinstance(obj, dict):
171
- return cls.model_validate(obj)
172
-
173
- _obj = cls.model_validate(
174
- {
175
- "price_amount": obj.get("price_amount"),
176
- "price_currency": obj.get("price_currency"),
177
- "pay_currency": obj.get("pay_currency"),
178
- "ipn_callback_url": obj.get("ipn_callback_url"),
179
- "order_id": obj.get("order_id"),
180
- "order_description": obj.get("order_description"),
181
- "success_url": obj.get("success_url"),
182
- "cancel_url": obj.get("cancel_url"),
183
- "partially_paid_url": obj.get("partially_paid_url"),
184
- "is_fixed_rate": obj.get("is_fixed_rate"),
185
- "is_fee_paid_by_user": obj.get("is_fee_paid_by_user"),
186
- }
187
- )
188
- return _obj