Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/updateSDKQueries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,14 @@ jobs:
rm -rf tests/template-schema
cp -R ../graphql-queries/template-schema tests/template-schema

# `make snapshots` regenerates tests/snapshots from the queries just
# copied. Without it the sync PR ships updated queries alongside stale
# snapshots, and the `snapshots` job in tests.yml fails on every sync.
- name: Generate SDK
working-directory: ./fragment-python
run: |
make build
make snapshots
make lint

- name: Create Pull Request
Expand Down
22 changes: 22 additions & 0 deletions fragment/sdk/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Generated by fragment (with the help of ariadne-codegen)

from .add_ledger_entries import (
AddLedgerEntries,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesError,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesErrorErrors,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResult,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResults,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsEntry,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLines,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLinesAccount,
AddLedgerEntriesAddLedgerEntriesBadRequestError,
AddLedgerEntriesAddLedgerEntriesInternalError,
)
from .add_ledger_entry import (
AddLedgerEntry,
AddLedgerEntryAddLedgerEntryAddLedgerEntryResult,
Expand Down Expand Up @@ -388,6 +400,16 @@
)

__all__ = [
"AddLedgerEntries",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesError",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesErrorErrors",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResult",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResults",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsEntry",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLines",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLinesAccount",
"AddLedgerEntriesAddLedgerEntriesBadRequestError",
"AddLedgerEntriesAddLedgerEntriesInternalError",
"AddLedgerEntry",
"AddLedgerEntryAddLedgerEntryAddLedgerEntryResult",
"AddLedgerEntryAddLedgerEntryAddLedgerEntryResultEntry",
Expand Down
84 changes: 84 additions & 0 deletions fragment/sdk/add_ledger_entries.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Generated by fragment (with the help of ariadne-codegen)
# Source: queries/

from typing import Any, Literal, Optional, Union

from pydantic import Field

from .base_model import BaseModel


class AddLedgerEntries(BaseModel):
add_ledger_entries: Union[
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesError",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResult",
"AddLedgerEntriesAddLedgerEntriesBadRequestError",
"AddLedgerEntriesAddLedgerEntriesInternalError",
] = Field(alias="addLedgerEntries", discriminator="typename__")


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesError(BaseModel):
typename__: Literal["AddLedgerEntriesError"] = Field(alias="__typename")
code: str
message: str
retryable: bool
errors: list["AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesErrorErrors"]


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesErrorErrors(BaseModel):
ik: Any
code: str
message: str
retryable: bool


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResult(BaseModel):
typename__: Literal["AddLedgerEntriesResult"] = Field(alias="__typename")
results: list["AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResults"]


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResults(BaseModel):
is_ik_replay: bool = Field(alias="isIkReplay")
entry: "AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsEntry"
lines: list["AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLines"]


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsEntry(BaseModel):
type_: Optional[Any] = Field(alias="type")
id: str
ik: str
posted: Any
created: Any


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLines(BaseModel):
id: str
amount: Any
account: "AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLinesAccount"


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLinesAccount(
BaseModel
):
path: str


class AddLedgerEntriesAddLedgerEntriesBadRequestError(BaseModel):
typename__: Literal["BadRequestError"] = Field(alias="__typename")
code: str
message: str
retryable: bool


class AddLedgerEntriesAddLedgerEntriesInternalError(BaseModel):
typename__: Literal["InternalError"] = Field(alias="__typename")
code: str
message: str
retryable: bool


AddLedgerEntries.model_rebuild()
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesError.model_rebuild()
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResult.model_rebuild()
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResults.model_rebuild()
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLines.model_rebuild()
62 changes: 62 additions & 0 deletions fragment/sdk/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

from typing import Any, Optional

from .add_ledger_entries import AddLedgerEntries
from .add_ledger_entry import AddLedgerEntry
from .add_ledger_entry_runtime import AddLedgerEntryRuntime
from .async_client import AsyncFragmentClient
Expand All @@ -28,6 +29,7 @@
from .get_schema import GetSchema
from .get_workspace import GetWorkspace
from .input_types import (
AddLedgerEntryInput,
CreateLedgerInput,
CurrencyMatchInput,
CustomAccountInput,
Expand Down Expand Up @@ -208,6 +210,66 @@ async def delete_ledger(
data = self.get_data(response)
return DeleteLedger.model_validate(data)

async def add_ledger_entries(
self, entries: list[AddLedgerEntryInput], **kwargs: Any
) -> AddLedgerEntries:
query = gql("""
mutation addLedgerEntries($entries: [AddLedgerEntryInput!]!) {
addLedgerEntries(entries: $entries) {
__typename
... on AddLedgerEntriesResult {
results {
isIkReplay
entry {
type
id
ik
posted
created
}
lines {
id
amount
account {
path
}
}
}
}
... on AddLedgerEntriesError {
code
message
retryable
errors {
ik
code
message
retryable
}
}
... on BadRequestError {
code
message
retryable
}
... on InternalError {
code
message
retryable
}
}
}
""")
variables: dict[str, object] = {"entries": entries}
response = await self.execute(
query=query,
operation_name="addLedgerEntries",
variables=variables,
**kwargs
)
data = self.get_data(response)
return AddLedgerEntries.model_validate(data)

async def add_ledger_entry(
self,
ik: Any,
Expand Down
46 changes: 46 additions & 0 deletions fragment/std_queries/queries.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,52 @@ mutation deleteLedger($ledger: LedgerMatchInput!) {
}
}

mutation addLedgerEntries($entries: [AddLedgerEntryInput!]!) {
addLedgerEntries(entries: $entries) {
__typename
... on AddLedgerEntriesResult {
results {
isIkReplay
entry {
type
id
ik
posted
created
}
lines {
id
amount
account {
path
}
}
}
}
... on AddLedgerEntriesError {
code
message
retryable
errors {
ik
code
message
retryable
}
}
... on BadRequestError {
code
message
retryable
}
... on InternalError {
code
message
retryable
}
}
}

mutation addLedgerEntry(
$ik: SafeString!
$ledgerIk: SafeString!
Expand Down
22 changes: 22 additions & 0 deletions fragment/sync_sdk/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Generated by fragment (with the help of ariadne-codegen)

from .add_ledger_entries import (
AddLedgerEntries,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesError,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesErrorErrors,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResult,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResults,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsEntry,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLines,
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLinesAccount,
AddLedgerEntriesAddLedgerEntriesBadRequestError,
AddLedgerEntriesAddLedgerEntriesInternalError,
)
from .add_ledger_entry import (
AddLedgerEntry,
AddLedgerEntryAddLedgerEntryAddLedgerEntryResult,
Expand Down Expand Up @@ -388,6 +400,16 @@
)

__all__ = [
"AddLedgerEntries",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesError",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesErrorErrors",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResult",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResults",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsEntry",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLines",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLinesAccount",
"AddLedgerEntriesAddLedgerEntriesBadRequestError",
"AddLedgerEntriesAddLedgerEntriesInternalError",
"AddLedgerEntry",
"AddLedgerEntryAddLedgerEntryAddLedgerEntryResult",
"AddLedgerEntryAddLedgerEntryAddLedgerEntryResultEntry",
Expand Down
84 changes: 84 additions & 0 deletions fragment/sync_sdk/add_ledger_entries.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Generated by fragment (with the help of ariadne-codegen)
# Source: queries/

from typing import Any, Literal, Optional, Union

from pydantic import Field

from .base_model import BaseModel


class AddLedgerEntries(BaseModel):
add_ledger_entries: Union[
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesError",
"AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResult",
"AddLedgerEntriesAddLedgerEntriesBadRequestError",
"AddLedgerEntriesAddLedgerEntriesInternalError",
] = Field(alias="addLedgerEntries", discriminator="typename__")


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesError(BaseModel):
typename__: Literal["AddLedgerEntriesError"] = Field(alias="__typename")
code: str
message: str
retryable: bool
errors: list["AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesErrorErrors"]


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesErrorErrors(BaseModel):
ik: Any
code: str
message: str
retryable: bool


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResult(BaseModel):
typename__: Literal["AddLedgerEntriesResult"] = Field(alias="__typename")
results: list["AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResults"]


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResults(BaseModel):
is_ik_replay: bool = Field(alias="isIkReplay")
entry: "AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsEntry"
lines: list["AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLines"]


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsEntry(BaseModel):
type_: Optional[Any] = Field(alias="type")
id: str
ik: str
posted: Any
created: Any


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLines(BaseModel):
id: str
amount: Any
account: "AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLinesAccount"


class AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLinesAccount(
BaseModel
):
path: str


class AddLedgerEntriesAddLedgerEntriesBadRequestError(BaseModel):
typename__: Literal["BadRequestError"] = Field(alias="__typename")
code: str
message: str
retryable: bool


class AddLedgerEntriesAddLedgerEntriesInternalError(BaseModel):
typename__: Literal["InternalError"] = Field(alias="__typename")
code: str
message: str
retryable: bool


AddLedgerEntries.model_rebuild()
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesError.model_rebuild()
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResult.model_rebuild()
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResults.model_rebuild()
AddLedgerEntriesAddLedgerEntriesAddLedgerEntriesResultResultsLines.model_rebuild()
Loading
Loading