fragment-python 0.2.1__tar.gz → 0.3.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.
- {fragment_python-0.2.1 → fragment_python-0.3.0}/PKG-INFO +6 -4
- {fragment_python-0.2.1 → fragment_python-0.3.0}/README.md +2 -2
- {fragment_python-0.2.1/fragment/sync_sdk → fragment_python-0.3.0/fragment/sdk}/__init__.py +66 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/base_model.py +1 -2
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/client.py +168 -4
- fragment_python-0.3.0/fragment/sdk/delete_custom_txs.py +49 -0
- fragment_python-0.3.0/fragment/sdk/delete_ledger.py +32 -0
- fragment_python-0.3.0/fragment/sdk/delete_schema.py +32 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/enums.py +6 -0
- {fragment_python-0.2.1/fragment/sync_sdk → fragment_python-0.3.0/fragment/sdk}/input_types.py +23 -0
- fragment_python-0.3.0/fragment/sdk/reverse_ledger_entry.py +115 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/std_queries/queries.graphql +113 -0
- {fragment_python-0.2.1/fragment/sdk → fragment_python-0.3.0/fragment/sync_sdk}/__init__.py +68 -2
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/base_model.py +1 -2
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/client.py +210 -52
- fragment_python-0.3.0/fragment/sync_sdk/delete_custom_txs.py +49 -0
- fragment_python-0.3.0/fragment/sync_sdk/delete_ledger.py +32 -0
- fragment_python-0.3.0/fragment/sync_sdk/delete_schema.py +32 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/enums.py +6 -0
- {fragment_python-0.2.1/fragment/sdk → fragment_python-0.3.0/fragment/sync_sdk}/input_types.py +23 -0
- fragment_python-0.3.0/fragment/sync_sdk/reverse_ledger_entry.py +115 -0
- fragment_python-0.3.0/fragment/sync_sdk/sync_client.py +65 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/pyproject.toml +4 -5
- {fragment_python-0.2.1 → fragment_python-0.3.0}/LICENSE +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/__init__.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/client/__init__.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/client/async_client.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/client/sync_client.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/codegen/__init__.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/codegen/helpers.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/codegen/main.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/codegen/plugins/__init__.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/codegen/plugins/generate_client_method.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/codegen/plugins/get_file_comment.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/exceptions.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/logger.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/add_ledger_entry.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/add_ledger_entry_runtime.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/async_client.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/create_custom_link.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/create_ledger.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/get_ledger.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/get_ledger_account_balance.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/get_ledger_account_lines.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/get_ledger_entry.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/get_schema.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/get_workspace.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/list_ledger_account_balances.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/list_ledger_accounts.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/list_ledger_entries.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/list_ledger_entry_group_balances.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/list_multi_currency_ledger_account_balances.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/reconcile_tx.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/reconcile_tx_runtime.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/store_schema.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/sync_custom_accounts.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/sync_custom_txs.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/update_ledger.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sdk/update_ledger_entry.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/add_ledger_entry.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/add_ledger_entry_runtime.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/async_client.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/create_custom_link.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/create_ledger.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/get_ledger.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/get_ledger_account_balance.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/get_ledger_account_lines.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/get_ledger_entry.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/get_schema.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/get_workspace.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/list_ledger_account_balances.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/list_ledger_accounts.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/list_ledger_entries.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/list_ledger_entry_group_balances.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/list_multi_currency_ledger_account_balances.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/reconcile_tx.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/reconcile_tx_runtime.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/store_schema.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/sync_custom_accounts.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/sync_custom_txs.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/update_ledger.py +0 -0
- {fragment_python-0.2.1 → fragment_python-0.3.0}/fragment/sync_sdk/update_ledger_entry.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fragment-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Python SDK for https://fragment.dev/
|
|
5
5
|
License: Apache 2.0
|
|
6
6
|
Author: Fragment Foundries Inc
|
|
@@ -12,11 +12,13 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
13
13
|
Requires-Dist: ariadne-codegen (>=0.13.0,<0.14.0)
|
|
14
14
|
Requires-Dist: authlib (>=1.3.1,<2.0.0)
|
|
15
|
+
Requires-Dist: certifi (==2024.07.04)
|
|
15
16
|
Requires-Dist: click (>=8.1.7,<9.0.0)
|
|
17
|
+
Requires-Dist: cryptography (==44.0.1)
|
|
16
18
|
Requires-Dist: graphql-core (>=3.2.3,<4.0.0)
|
|
17
19
|
Requires-Dist: httpx (>=0.27.0,<0.28.0)
|
|
18
20
|
Requires-Dist: pydantic (>=2.8.0,<3.0.0)
|
|
19
|
-
Requires-Dist: requests-oauth2client (>=1.
|
|
21
|
+
Requires-Dist: requests-oauth2client (>=1.6.0,<2.0.0)
|
|
20
22
|
Description-Content-Type: text/markdown
|
|
21
23
|
|
|
22
24
|
# fragment-python
|
|
@@ -133,14 +135,14 @@ query getSchemaName($key: SafeString!) {
|
|
|
133
135
|
2. Run `fragment-python-client-codegen` to generate the GraphQL SDK client. GraphQL named queries are converted to snake_case to conform to Python's code conventions. Optionally, pass the `--sync` flag to generate a synchronous client instead of the default async GraphQL client.
|
|
134
136
|
```bash
|
|
135
137
|
fragment-python-client-codegen \
|
|
136
|
-
--input-dir queries/ \
|
|
138
|
+
--input-dir libs/fragment/queries/ \
|
|
137
139
|
--target-package-name=custom_queries_package \
|
|
138
140
|
--output-dir=libs/fragment
|
|
139
141
|
```
|
|
140
142
|
3. Use the client from the generated package in your product! Apart from the custom query methods, this client is functionally identical to `fragment.sdk.client.Client`
|
|
141
143
|
|
|
142
144
|
```python
|
|
143
|
-
from .libs.custom_queries_package.client import Client
|
|
145
|
+
from .libs.fragment.custom_queries_package.client import Client
|
|
144
146
|
|
|
145
147
|
graphql_client = Client(
|
|
146
148
|
client_id="<client id from the dashboard>",
|
|
@@ -112,14 +112,14 @@ query getSchemaName($key: SafeString!) {
|
|
|
112
112
|
2. Run `fragment-python-client-codegen` to generate the GraphQL SDK client. GraphQL named queries are converted to snake_case to conform to Python's code conventions. Optionally, pass the `--sync` flag to generate a synchronous client instead of the default async GraphQL client.
|
|
113
113
|
```bash
|
|
114
114
|
fragment-python-client-codegen \
|
|
115
|
-
--input-dir queries/ \
|
|
115
|
+
--input-dir libs/fragment/queries/ \
|
|
116
116
|
--target-package-name=custom_queries_package \
|
|
117
117
|
--output-dir=libs/fragment
|
|
118
118
|
```
|
|
119
119
|
3. Use the client from the generated package in your product! Apart from the custom query methods, this client is functionally identical to `fragment.sdk.client.Client`
|
|
120
120
|
|
|
121
121
|
```python
|
|
122
|
-
from .libs.custom_queries_package.client import Client
|
|
122
|
+
from .libs.fragment.custom_queries_package.client import Client
|
|
123
123
|
|
|
124
124
|
graphql_client = Client(
|
|
125
125
|
client_id="<client id from the dashboard>",
|
|
@@ -36,12 +36,33 @@ from .create_ledger import (
|
|
|
36
36
|
CreateLedgerCreateLedgerCreateLedgerResultLedgerSchema,
|
|
37
37
|
CreateLedgerCreateLedgerInternalError,
|
|
38
38
|
)
|
|
39
|
+
from .delete_custom_txs import (
|
|
40
|
+
DeleteCustomTxs,
|
|
41
|
+
DeleteCustomTxsDeleteCustomTxsBadRequestError,
|
|
42
|
+
DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResult,
|
|
43
|
+
DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResultTxs,
|
|
44
|
+
DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResultTxsTx,
|
|
45
|
+
DeleteCustomTxsDeleteCustomTxsInternalError,
|
|
46
|
+
)
|
|
47
|
+
from .delete_ledger import (
|
|
48
|
+
DeleteLedger,
|
|
49
|
+
DeleteLedgerDeleteLedgerBadRequestError,
|
|
50
|
+
DeleteLedgerDeleteLedgerDeleteLedgerResult,
|
|
51
|
+
DeleteLedgerDeleteLedgerInternalError,
|
|
52
|
+
)
|
|
53
|
+
from .delete_schema import (
|
|
54
|
+
DeleteSchema,
|
|
55
|
+
DeleteSchemaDeleteSchemaBadRequestError,
|
|
56
|
+
DeleteSchemaDeleteSchemaDeleteSchemaResult,
|
|
57
|
+
DeleteSchemaDeleteSchemaInternalError,
|
|
58
|
+
)
|
|
39
59
|
from .enums import (
|
|
40
60
|
BalanceUpdateConsistencyMode,
|
|
41
61
|
CurrencyCode,
|
|
42
62
|
CurrencyMode,
|
|
43
63
|
ExternalTransferType,
|
|
44
64
|
ExternalTxSource,
|
|
65
|
+
Granularity,
|
|
45
66
|
IncreaseEnv,
|
|
46
67
|
LedgerAccountTypes,
|
|
47
68
|
LedgerLinesConsistencyMode,
|
|
@@ -91,6 +112,8 @@ from .input_types import (
|
|
|
91
112
|
ExternalAccountFilter,
|
|
92
113
|
ExternalAccountMatchInput,
|
|
93
114
|
GroupBalanceAccountFilter,
|
|
115
|
+
GroupFilter,
|
|
116
|
+
GroupNotFilter,
|
|
94
117
|
Int96ConditionInput,
|
|
95
118
|
Int96Filter,
|
|
96
119
|
LedgerAccountConditionInput,
|
|
@@ -213,6 +236,20 @@ from .reconcile_tx_runtime import (
|
|
|
213
236
|
ReconcileTxRuntimeReconcileTxReconcileTxResultLines,
|
|
214
237
|
ReconcileTxRuntimeReconcileTxReconcileTxResultLinesAccount,
|
|
215
238
|
)
|
|
239
|
+
from .reverse_ledger_entry import (
|
|
240
|
+
ReverseLedgerEntry,
|
|
241
|
+
ReverseLedgerEntryReverseLedgerEntryBadRequestError,
|
|
242
|
+
ReverseLedgerEntryReverseLedgerEntryInternalError,
|
|
243
|
+
ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResult,
|
|
244
|
+
ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversedLedgerEntry,
|
|
245
|
+
ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversedLedgerEntryLines,
|
|
246
|
+
ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversedLedgerEntryLinesNodes,
|
|
247
|
+
ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversedLedgerEntryLinesNodesAccount,
|
|
248
|
+
ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversingLedgerEntry,
|
|
249
|
+
ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversingLedgerEntryLines,
|
|
250
|
+
ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversingLedgerEntryLinesNodes,
|
|
251
|
+
ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversingLedgerEntryLinesNodesAccount,
|
|
252
|
+
)
|
|
216
253
|
from .store_schema import (
|
|
217
254
|
StoreSchema,
|
|
218
255
|
StoreSchemaStoreSchemaBadRequestError,
|
|
@@ -299,6 +336,20 @@ __all__ = [
|
|
|
299
336
|
"CustomTxInput",
|
|
300
337
|
"DateFilter",
|
|
301
338
|
"DateTimeFilter",
|
|
339
|
+
"DeleteCustomTxs",
|
|
340
|
+
"DeleteCustomTxsDeleteCustomTxsBadRequestError",
|
|
341
|
+
"DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResult",
|
|
342
|
+
"DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResultTxs",
|
|
343
|
+
"DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResultTxsTx",
|
|
344
|
+
"DeleteCustomTxsDeleteCustomTxsInternalError",
|
|
345
|
+
"DeleteLedger",
|
|
346
|
+
"DeleteLedgerDeleteLedgerBadRequestError",
|
|
347
|
+
"DeleteLedgerDeleteLedgerDeleteLedgerResult",
|
|
348
|
+
"DeleteLedgerDeleteLedgerInternalError",
|
|
349
|
+
"DeleteSchema",
|
|
350
|
+
"DeleteSchemaDeleteSchemaBadRequestError",
|
|
351
|
+
"DeleteSchemaDeleteSchemaDeleteSchemaResult",
|
|
352
|
+
"DeleteSchemaDeleteSchemaInternalError",
|
|
302
353
|
"EntryGroupMatchInput",
|
|
303
354
|
"ExternalAccountFilter",
|
|
304
355
|
"ExternalAccountMatchInput",
|
|
@@ -323,7 +374,10 @@ __all__ = [
|
|
|
323
374
|
"GetSchemaSchemaVersion",
|
|
324
375
|
"GetWorkspace",
|
|
325
376
|
"GetWorkspaceWorkspace",
|
|
377
|
+
"Granularity",
|
|
326
378
|
"GroupBalanceAccountFilter",
|
|
379
|
+
"GroupFilter",
|
|
380
|
+
"GroupNotFilter",
|
|
327
381
|
"IncreaseEnv",
|
|
328
382
|
"Int96ConditionInput",
|
|
329
383
|
"Int96Filter",
|
|
@@ -409,6 +463,18 @@ __all__ = [
|
|
|
409
463
|
"ReconcileTxRuntimeReconcileTxReconcileTxResultEntry",
|
|
410
464
|
"ReconcileTxRuntimeReconcileTxReconcileTxResultLines",
|
|
411
465
|
"ReconcileTxRuntimeReconcileTxReconcileTxResultLinesAccount",
|
|
466
|
+
"ReverseLedgerEntry",
|
|
467
|
+
"ReverseLedgerEntryReverseLedgerEntryBadRequestError",
|
|
468
|
+
"ReverseLedgerEntryReverseLedgerEntryInternalError",
|
|
469
|
+
"ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResult",
|
|
470
|
+
"ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversedLedgerEntry",
|
|
471
|
+
"ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversedLedgerEntryLines",
|
|
472
|
+
"ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversedLedgerEntryLinesNodes",
|
|
473
|
+
"ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversedLedgerEntryLinesNodesAccount",
|
|
474
|
+
"ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversingLedgerEntry",
|
|
475
|
+
"ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversingLedgerEntryLines",
|
|
476
|
+
"ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversingLedgerEntryLinesNodes",
|
|
477
|
+
"ReverseLedgerEntryReverseLedgerEntryReverseLedgerEntryResultReversingLedgerEntryLinesNodesAccount",
|
|
412
478
|
"SceneEntryInput",
|
|
413
479
|
"SceneEventInput",
|
|
414
480
|
"SceneEventType",
|
|
@@ -8,6 +8,9 @@ from .add_ledger_entry_runtime import AddLedgerEntryRuntime
|
|
|
8
8
|
from .async_client import AsyncFragmentClient
|
|
9
9
|
from .create_custom_link import CreateCustomLink
|
|
10
10
|
from .create_ledger import CreateLedger
|
|
11
|
+
from .delete_custom_txs import DeleteCustomTxs
|
|
12
|
+
from .delete_ledger import DeleteLedger
|
|
13
|
+
from .delete_schema import DeleteSchema
|
|
11
14
|
from .enums import ReadBalanceConsistencyMode
|
|
12
15
|
from .get_ledger import GetLedger
|
|
13
16
|
from .get_ledger_account_balance import GetLedgerAccountBalance
|
|
@@ -26,7 +29,9 @@ from .input_types import (
|
|
|
26
29
|
LedgerEntryTagInput,
|
|
27
30
|
LedgerLineInput,
|
|
28
31
|
LedgerLinesFilterSet,
|
|
32
|
+
LedgerMatchInput,
|
|
29
33
|
SchemaInput,
|
|
34
|
+
SchemaMatchInput,
|
|
30
35
|
UpdateLedgerEntryInput,
|
|
31
36
|
UpdateLedgerInput,
|
|
32
37
|
)
|
|
@@ -39,6 +44,7 @@ from .list_multi_currency_ledger_account_balances import (
|
|
|
39
44
|
)
|
|
40
45
|
from .reconcile_tx import ReconcileTx
|
|
41
46
|
from .reconcile_tx_runtime import ReconcileTxRuntime
|
|
47
|
+
from .reverse_ledger_entry import ReverseLedgerEntry
|
|
42
48
|
from .store_schema import StoreSchema
|
|
43
49
|
from .sync_custom_accounts import SyncCustomAccounts
|
|
44
50
|
from .sync_custom_txs import SyncCustomTxs
|
|
@@ -83,6 +89,33 @@ class Client(AsyncFragmentClient):
|
|
|
83
89
|
data = self.get_data(response)
|
|
84
90
|
return StoreSchema.model_validate(data)
|
|
85
91
|
|
|
92
|
+
async def delete_schema(
|
|
93
|
+
self, schema: SchemaMatchInput, **kwargs: Any
|
|
94
|
+
) -> DeleteSchema:
|
|
95
|
+
query = gql(
|
|
96
|
+
"""
|
|
97
|
+
mutation deleteSchema($schema: SchemaMatchInput!) {
|
|
98
|
+
deleteSchema(schema: $schema) {
|
|
99
|
+
__typename
|
|
100
|
+
... on DeleteSchemaResult {
|
|
101
|
+
success
|
|
102
|
+
}
|
|
103
|
+
... on Error {
|
|
104
|
+
code
|
|
105
|
+
message
|
|
106
|
+
retryable
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
"""
|
|
111
|
+
)
|
|
112
|
+
variables: Dict[str, object] = {"schema": schema}
|
|
113
|
+
response = await self.execute(
|
|
114
|
+
query=query, operation_name="deleteSchema", variables=variables, **kwargs
|
|
115
|
+
)
|
|
116
|
+
data = self.get_data(response)
|
|
117
|
+
return DeleteSchema.model_validate(data)
|
|
118
|
+
|
|
86
119
|
async def create_ledger(
|
|
87
120
|
self, ik: Any, ledger: CreateLedgerInput, schema_key: Any, **kwargs: Any
|
|
88
121
|
) -> CreateLedger:
|
|
@@ -123,6 +156,33 @@ class Client(AsyncFragmentClient):
|
|
|
123
156
|
data = self.get_data(response)
|
|
124
157
|
return CreateLedger.model_validate(data)
|
|
125
158
|
|
|
159
|
+
async def delete_ledger(
|
|
160
|
+
self, ledger: LedgerMatchInput, **kwargs: Any
|
|
161
|
+
) -> DeleteLedger:
|
|
162
|
+
query = gql(
|
|
163
|
+
"""
|
|
164
|
+
mutation deleteLedger($ledger: LedgerMatchInput!) {
|
|
165
|
+
deleteLedger(ledger: $ledger) {
|
|
166
|
+
__typename
|
|
167
|
+
... on DeleteLedgerResult {
|
|
168
|
+
success
|
|
169
|
+
}
|
|
170
|
+
... on Error {
|
|
171
|
+
code
|
|
172
|
+
message
|
|
173
|
+
retryable
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
"""
|
|
178
|
+
)
|
|
179
|
+
variables: Dict[str, object] = {"ledger": ledger}
|
|
180
|
+
response = await self.execute(
|
|
181
|
+
query=query, operation_name="deleteLedger", variables=variables, **kwargs
|
|
182
|
+
)
|
|
183
|
+
data = self.get_data(response)
|
|
184
|
+
return DeleteLedger.model_validate(data)
|
|
185
|
+
|
|
126
186
|
async def add_ledger_entry(
|
|
127
187
|
self,
|
|
128
188
|
ik: Any,
|
|
@@ -183,6 +243,70 @@ class Client(AsyncFragmentClient):
|
|
|
183
243
|
data = self.get_data(response)
|
|
184
244
|
return AddLedgerEntry.model_validate(data)
|
|
185
245
|
|
|
246
|
+
async def reverse_ledger_entry(self, id: str, **kwargs: Any) -> ReverseLedgerEntry:
|
|
247
|
+
query = gql(
|
|
248
|
+
"""
|
|
249
|
+
mutation reverseLedgerEntry($id: ID!) {
|
|
250
|
+
reverseLedgerEntry(id: $id) {
|
|
251
|
+
__typename
|
|
252
|
+
... on ReverseLedgerEntryResult {
|
|
253
|
+
reversingLedgerEntry {
|
|
254
|
+
ik
|
|
255
|
+
id
|
|
256
|
+
created
|
|
257
|
+
posted
|
|
258
|
+
type
|
|
259
|
+
description
|
|
260
|
+
hidden
|
|
261
|
+
lines {
|
|
262
|
+
nodes {
|
|
263
|
+
id
|
|
264
|
+
amount
|
|
265
|
+
account {
|
|
266
|
+
path
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
reversedLedgerEntry {
|
|
272
|
+
ik
|
|
273
|
+
id
|
|
274
|
+
created
|
|
275
|
+
posted
|
|
276
|
+
type
|
|
277
|
+
description
|
|
278
|
+
hidden
|
|
279
|
+
lines {
|
|
280
|
+
nodes {
|
|
281
|
+
id
|
|
282
|
+
amount
|
|
283
|
+
account {
|
|
284
|
+
path
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
isIkReplay
|
|
290
|
+
}
|
|
291
|
+
... on Error {
|
|
292
|
+
code
|
|
293
|
+
message
|
|
294
|
+
retryable
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
"""
|
|
299
|
+
)
|
|
300
|
+
variables: Dict[str, object] = {"id": id}
|
|
301
|
+
response = await self.execute(
|
|
302
|
+
query=query,
|
|
303
|
+
operation_name="reverseLedgerEntry",
|
|
304
|
+
variables=variables,
|
|
305
|
+
**kwargs
|
|
306
|
+
)
|
|
307
|
+
data = self.get_data(response)
|
|
308
|
+
return ReverseLedgerEntry.model_validate(data)
|
|
309
|
+
|
|
186
310
|
async def add_ledger_entry_runtime(
|
|
187
311
|
self,
|
|
188
312
|
ik: Any,
|
|
@@ -190,16 +314,17 @@ class Client(AsyncFragmentClient):
|
|
|
190
314
|
ledger_ik: Any,
|
|
191
315
|
lines: List[LedgerLineInput],
|
|
192
316
|
posted: Optional[Any] = None,
|
|
317
|
+
parameters: Optional[Any] = None,
|
|
193
318
|
tags: Optional[List[LedgerEntryTagInput]] = None,
|
|
194
319
|
groups: Optional[List[LedgerEntryGroupInput]] = None,
|
|
195
320
|
**kwargs: Any
|
|
196
321
|
) -> AddLedgerEntryRuntime:
|
|
197
322
|
query = gql(
|
|
198
323
|
"""
|
|
199
|
-
mutation addLedgerEntryRuntime($ik: SafeString!, $type: String!, $ledgerIk: SafeString!, $posted: DateTime, $lines: [LedgerLineInput!]!, $tags: [LedgerEntryTagInput!], $groups: [LedgerEntryGroupInput!]) {
|
|
324
|
+
mutation addLedgerEntryRuntime($ik: SafeString!, $type: String!, $ledgerIk: SafeString!, $posted: DateTime, $parameters: JSON, $lines: [LedgerLineInput!]!, $tags: [LedgerEntryTagInput!], $groups: [LedgerEntryGroupInput!]) {
|
|
200
325
|
addLedgerEntry(
|
|
201
326
|
ik: $ik
|
|
202
|
-
entry: {type: $type, ledger: {ik: $ledgerIk}, posted: $posted, lines: $lines, tags: $tags, groups: $groups}
|
|
327
|
+
entry: {type: $type, ledger: {ik: $ledgerIk}, posted: $posted, lines: $lines, tags: $tags, groups: $groups, parameters: $parameters}
|
|
203
328
|
) {
|
|
204
329
|
__typename
|
|
205
330
|
... on AddLedgerEntryResult {
|
|
@@ -233,6 +358,7 @@ class Client(AsyncFragmentClient):
|
|
|
233
358
|
"type": type,
|
|
234
359
|
"ledgerIk": ledger_ik,
|
|
235
360
|
"posted": posted,
|
|
361
|
+
"parameters": parameters,
|
|
236
362
|
"lines": lines,
|
|
237
363
|
"tags": tags,
|
|
238
364
|
"groups": groups,
|
|
@@ -307,15 +433,16 @@ class Client(AsyncFragmentClient):
|
|
|
307
433
|
ledger_ik: Any,
|
|
308
434
|
type: str,
|
|
309
435
|
lines: List[LedgerLineInput],
|
|
436
|
+
parameters: Optional[Any] = None,
|
|
310
437
|
tags: Optional[List[LedgerEntryTagInput]] = None,
|
|
311
438
|
groups: Optional[List[LedgerEntryGroupInput]] = None,
|
|
312
439
|
**kwargs: Any
|
|
313
440
|
) -> ReconcileTxRuntime:
|
|
314
441
|
query = gql(
|
|
315
442
|
"""
|
|
316
|
-
mutation reconcileTxRuntime($ledgerIk: SafeString!, $type: String!, $lines: [LedgerLineInput!]!, $tags: [LedgerEntryTagInput!], $groups: [LedgerEntryGroupInput!]) {
|
|
443
|
+
mutation reconcileTxRuntime($ledgerIk: SafeString!, $type: String!, $lines: [LedgerLineInput!]!, $parameters: JSON, $tags: [LedgerEntryTagInput!], $groups: [LedgerEntryGroupInput!]) {
|
|
317
444
|
reconcileTx(
|
|
318
|
-
entry: {ledger: {ik: $ledgerIk}, type: $type, lines: $lines, tags: $tags, groups: $groups}
|
|
445
|
+
entry: {ledger: {ik: $ledgerIk}, type: $type, lines: $lines, tags: $tags, groups: $groups, parameters: $parameters}
|
|
319
446
|
) {
|
|
320
447
|
__typename
|
|
321
448
|
... on ReconcileTxResult {
|
|
@@ -349,6 +476,7 @@ class Client(AsyncFragmentClient):
|
|
|
349
476
|
"ledgerIk": ledger_ik,
|
|
350
477
|
"type": type,
|
|
351
478
|
"lines": lines,
|
|
479
|
+
"parameters": parameters,
|
|
352
480
|
"tags": tags,
|
|
353
481
|
"groups": groups,
|
|
354
482
|
}
|
|
@@ -564,6 +692,42 @@ class Client(AsyncFragmentClient):
|
|
|
564
692
|
data = self.get_data(response)
|
|
565
693
|
return SyncCustomTxs.model_validate(data)
|
|
566
694
|
|
|
695
|
+
async def delete_custom_txs(self, txs: List[str], **kwargs: Any) -> DeleteCustomTxs:
|
|
696
|
+
query = gql(
|
|
697
|
+
"""
|
|
698
|
+
mutation deleteCustomTxs($txs: [ID!]!) {
|
|
699
|
+
deleteCustomTxs(txs: $txs) {
|
|
700
|
+
__typename
|
|
701
|
+
... on DeleteCustomTxsResult {
|
|
702
|
+
txs {
|
|
703
|
+
tx {
|
|
704
|
+
linkId
|
|
705
|
+
id
|
|
706
|
+
externalId
|
|
707
|
+
externalAccountId
|
|
708
|
+
amount
|
|
709
|
+
description
|
|
710
|
+
posted
|
|
711
|
+
deletedAt
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
... on Error {
|
|
716
|
+
code
|
|
717
|
+
message
|
|
718
|
+
retryable
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
"""
|
|
723
|
+
)
|
|
724
|
+
variables: Dict[str, object] = {"txs": txs}
|
|
725
|
+
response = await self.execute(
|
|
726
|
+
query=query, operation_name="deleteCustomTxs", variables=variables, **kwargs
|
|
727
|
+
)
|
|
728
|
+
data = self.get_data(response)
|
|
729
|
+
return DeleteCustomTxs.model_validate(data)
|
|
730
|
+
|
|
567
731
|
async def get_ledger(self, ik: Any, **kwargs: Any) -> GetLedger:
|
|
568
732
|
query = gql(
|
|
569
733
|
"""
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Generated by fragment (with the help of ariadne-codegen)
|
|
2
|
+
# Source: queries/
|
|
3
|
+
|
|
4
|
+
from typing import Any, List, Literal, Optional, Union
|
|
5
|
+
|
|
6
|
+
from pydantic import Field
|
|
7
|
+
|
|
8
|
+
from .base_model import BaseModel
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class DeleteCustomTxs(BaseModel):
|
|
12
|
+
delete_custom_txs: Union[
|
|
13
|
+
"DeleteCustomTxsDeleteCustomTxsBadRequestError",
|
|
14
|
+
"DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResult",
|
|
15
|
+
"DeleteCustomTxsDeleteCustomTxsInternalError",
|
|
16
|
+
] = Field(alias="deleteCustomTxs", discriminator="typename__")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class DeleteCustomTxsDeleteCustomTxsBadRequestError(BaseModel):
|
|
20
|
+
typename__: Literal["BadRequestError"] = Field(alias="__typename")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResult(BaseModel):
|
|
24
|
+
typename__: Literal["DeleteCustomTxsResult"] = Field(alias="__typename")
|
|
25
|
+
txs: List["DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResultTxs"]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResultTxs(BaseModel):
|
|
29
|
+
tx: "DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResultTxsTx"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResultTxsTx(BaseModel):
|
|
33
|
+
link_id: str = Field(alias="linkId")
|
|
34
|
+
id: str
|
|
35
|
+
external_id: str = Field(alias="externalId")
|
|
36
|
+
external_account_id: str = Field(alias="externalAccountId")
|
|
37
|
+
amount: Any
|
|
38
|
+
description: str
|
|
39
|
+
posted: Any
|
|
40
|
+
deleted_at: Optional[Any] = Field(alias="deletedAt")
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class DeleteCustomTxsDeleteCustomTxsInternalError(BaseModel):
|
|
44
|
+
typename__: Literal["InternalError"] = Field(alias="__typename")
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
DeleteCustomTxs.model_rebuild()
|
|
48
|
+
DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResult.model_rebuild()
|
|
49
|
+
DeleteCustomTxsDeleteCustomTxsDeleteCustomTxsResultTxs.model_rebuild()
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Generated by fragment (with the help of ariadne-codegen)
|
|
2
|
+
# Source: queries/
|
|
3
|
+
|
|
4
|
+
from typing import Literal, Union
|
|
5
|
+
|
|
6
|
+
from pydantic import Field
|
|
7
|
+
|
|
8
|
+
from .base_model import BaseModel
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class DeleteLedger(BaseModel):
|
|
12
|
+
delete_ledger: Union[
|
|
13
|
+
"DeleteLedgerDeleteLedgerBadRequestError",
|
|
14
|
+
"DeleteLedgerDeleteLedgerDeleteLedgerResult",
|
|
15
|
+
"DeleteLedgerDeleteLedgerInternalError",
|
|
16
|
+
] = Field(alias="deleteLedger", discriminator="typename__")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class DeleteLedgerDeleteLedgerBadRequestError(BaseModel):
|
|
20
|
+
typename__: Literal["BadRequestError"] = Field(alias="__typename")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class DeleteLedgerDeleteLedgerDeleteLedgerResult(BaseModel):
|
|
24
|
+
typename__: Literal["DeleteLedgerResult"] = Field(alias="__typename")
|
|
25
|
+
success: bool
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class DeleteLedgerDeleteLedgerInternalError(BaseModel):
|
|
29
|
+
typename__: Literal["InternalError"] = Field(alias="__typename")
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
DeleteLedger.model_rebuild()
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Generated by fragment (with the help of ariadne-codegen)
|
|
2
|
+
# Source: queries/
|
|
3
|
+
|
|
4
|
+
from typing import Literal, Union
|
|
5
|
+
|
|
6
|
+
from pydantic import Field
|
|
7
|
+
|
|
8
|
+
from .base_model import BaseModel
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class DeleteSchema(BaseModel):
|
|
12
|
+
delete_schema: Union[
|
|
13
|
+
"DeleteSchemaDeleteSchemaBadRequestError",
|
|
14
|
+
"DeleteSchemaDeleteSchemaDeleteSchemaResult",
|
|
15
|
+
"DeleteSchemaDeleteSchemaInternalError",
|
|
16
|
+
] = Field(alias="deleteSchema", discriminator="typename__")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class DeleteSchemaDeleteSchemaBadRequestError(BaseModel):
|
|
20
|
+
typename__: Literal["BadRequestError"] = Field(alias="__typename")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class DeleteSchemaDeleteSchemaDeleteSchemaResult(BaseModel):
|
|
24
|
+
typename__: Literal["DeleteSchemaResult"] = Field(alias="__typename")
|
|
25
|
+
success: bool
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class DeleteSchemaDeleteSchemaInternalError(BaseModel):
|
|
29
|
+
typename__: Literal["InternalError"] = Field(alias="__typename")
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
DeleteSchema.model_rebuild()
|
|
@@ -204,6 +204,12 @@ class ExternalTxSource(str, Enum):
|
|
|
204
204
|
increase = "increase"
|
|
205
205
|
|
|
206
206
|
|
|
207
|
+
class Granularity(str, Enum):
|
|
208
|
+
daily = "daily"
|
|
209
|
+
hourly = "hourly"
|
|
210
|
+
monthly = "monthly"
|
|
211
|
+
|
|
212
|
+
|
|
207
213
|
class IncreaseEnv(str, Enum):
|
|
208
214
|
production = "production"
|
|
209
215
|
sandbox = "sandbox"
|
{fragment_python-0.2.1/fragment/sync_sdk → fragment_python-0.3.0/fragment/sdk}/input_types.py
RENAMED
|
@@ -136,6 +136,15 @@ class GroupBalanceAccountFilter(BaseModel):
|
|
|
136
136
|
path: Optional["StringMatchFilter"] = None
|
|
137
137
|
|
|
138
138
|
|
|
139
|
+
class GroupFilter(BaseModel):
|
|
140
|
+
key_in: Optional[List[Any]] = Field(alias="keyIn", default=None)
|
|
141
|
+
not_: Optional["GroupNotFilter"] = Field(alias="not", default=None)
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
class GroupNotFilter(BaseModel):
|
|
145
|
+
key_in: Optional[List[Any]] = Field(alias="keyIn", default=None)
|
|
146
|
+
|
|
147
|
+
|
|
139
148
|
class Int96ConditionInput(BaseModel):
|
|
140
149
|
eq: Optional[Any] = None
|
|
141
150
|
gte: Optional[Any] = None
|
|
@@ -202,10 +211,14 @@ class LedgerAccountsFilterSet(BaseModel):
|
|
|
202
211
|
|
|
203
212
|
class LedgerEntriesFilterSet(BaseModel):
|
|
204
213
|
date: Optional["DateFilter"] = None
|
|
214
|
+
group: Optional["GroupFilter"] = None
|
|
215
|
+
is_reversal: Optional[bool] = Field(alias="isReversal", default=None)
|
|
216
|
+
is_reversed: Optional[bool] = Field(alias="isReversed", default=None)
|
|
205
217
|
ledger_entry: Optional["LedgerEntryFilter"] = Field(
|
|
206
218
|
alias="ledgerEntry", default=None
|
|
207
219
|
)
|
|
208
220
|
posted: Optional["DateTimeFilter"] = None
|
|
221
|
+
show_hidden: Optional[bool] = Field(alias="showHidden", default=None)
|
|
209
222
|
tag: Optional["TagFilter"] = None
|
|
210
223
|
type: Optional["StringFilter"] = None
|
|
211
224
|
|
|
@@ -242,6 +255,7 @@ class LedgerEntryGroupMatchInput(BaseModel):
|
|
|
242
255
|
class LedgerEntryGroupsFilterSet(BaseModel):
|
|
243
256
|
created: Optional["DateTimeFilter"] = None
|
|
244
257
|
key: Optional["StringFilter"] = None
|
|
258
|
+
value: Optional["StringFilter"] = None
|
|
245
259
|
|
|
246
260
|
|
|
247
261
|
class LedgerEntryInput(BaseModel):
|
|
@@ -254,6 +268,7 @@ class LedgerEntryInput(BaseModel):
|
|
|
254
268
|
posted: Optional[Any] = None
|
|
255
269
|
tags: Optional[List["LedgerEntryTagInput"]] = None
|
|
256
270
|
type: Optional[str] = None
|
|
271
|
+
version: Optional[int] = None
|
|
257
272
|
|
|
258
273
|
|
|
259
274
|
class LedgerEntryMatchInput(BaseModel):
|
|
@@ -283,8 +298,11 @@ class LedgerLineMatchInput(BaseModel):
|
|
|
283
298
|
class LedgerLinesFilterSet(BaseModel):
|
|
284
299
|
created: Optional["DateTimeFilter"] = None
|
|
285
300
|
date: Optional["DateFilter"] = None
|
|
301
|
+
is_reversal: Optional[bool] = Field(alias="isReversal", default=None)
|
|
302
|
+
is_reversed: Optional[bool] = Field(alias="isReversed", default=None)
|
|
286
303
|
key: Optional["StringFilter"] = None
|
|
287
304
|
posted: Optional["DateTimeFilter"] = None
|
|
305
|
+
show_hidden: Optional[bool] = Field(alias="showHidden", default=None)
|
|
288
306
|
type: Optional["TxTypeFilter"] = None
|
|
289
307
|
|
|
290
308
|
|
|
@@ -406,6 +424,7 @@ class SchemaLedgerEntryInput(BaseModel):
|
|
|
406
424
|
parameters: Optional[Any] = None
|
|
407
425
|
tags: Optional[List["SchemaLedgerEntryTagInput"]] = None
|
|
408
426
|
type: Any
|
|
427
|
+
version: Optional[int] = None
|
|
409
428
|
|
|
410
429
|
|
|
411
430
|
class SchemaLedgerEntryTagInput(BaseModel):
|
|
@@ -435,15 +454,19 @@ class SchemaTxMatchInput(BaseModel):
|
|
|
435
454
|
class StringFilter(BaseModel):
|
|
436
455
|
equal_to: Optional[str] = Field(alias="equalTo", default=None)
|
|
437
456
|
in_: Optional[List[str]] = Field(alias="in", default=None)
|
|
457
|
+
not_equal_to: Optional[str] = Field(alias="notEqualTo", default=None)
|
|
458
|
+
not_in: Optional[List[str]] = Field(alias="notIn", default=None)
|
|
438
459
|
|
|
439
460
|
|
|
440
461
|
class StringMatchFilter(BaseModel):
|
|
462
|
+
contains: Optional[str] = None
|
|
441
463
|
equal_to: Optional[str] = Field(alias="equalTo", default=None)
|
|
442
464
|
in_: Optional[List[str]] = Field(alias="in", default=None)
|
|
443
465
|
matches: Optional[str] = None
|
|
444
466
|
|
|
445
467
|
|
|
446
468
|
class TagFilter(BaseModel):
|
|
469
|
+
contains: Optional["TagMatchInput"] = None
|
|
447
470
|
equal_to: Optional["TagMatchInput"] = Field(alias="equalTo", default=None)
|
|
448
471
|
in_: Optional[List["TagMatchInput"]] = Field(alias="in", default=None)
|
|
449
472
|
|