Skip to content

Commit 5e6714e

Browse files
authored
Merge pull request #5 from lightsparkdev/fix-datetime-deser
Fix datetime deserialization
2 parents e45912e + 6dcee3f commit 5e6714e

30 files changed

Lines changed: 225 additions & 116 deletions

lightspark/objects/Account.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1617,7 +1617,7 @@ def from_json(requester: Requester, obj: Mapping[str, Any]) -> Account:
16171617
requester=requester,
16181618
typename="Account",
16191619
id=obj["account_id"],
1620-
created_at=obj["account_created_at"],
1621-
updated_at=obj["account_updated_at"],
1620+
created_at=datetime.fromisoformat(obj["account_created_at"]),
1621+
updated_at=datetime.fromisoformat(obj["account_updated_at"]),
16221622
name=obj["account_name"],
16231623
)

lightspark/objects/ApiToken.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ def from_json(requester: Requester, obj: Mapping[str, Any]) -> ApiToken:
5555
requester=requester,
5656
typename="ApiToken",
5757
id=obj["api_token_id"],
58-
created_at=obj["api_token_created_at"],
59-
updated_at=obj["api_token_updated_at"],
58+
created_at=datetime.fromisoformat(obj["api_token_created_at"]),
59+
updated_at=datetime.fromisoformat(obj["api_token_updated_at"]),
6060
client_id=obj["api_token_client_id"],
6161
name=obj["api_token_name"],
6262
permissions=parse_enum_list(Permission, obj["api_token_permissions"]),

lightspark/objects/Channel.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,8 @@ def from_json(requester: Requester, obj: Mapping[str, Any]) -> Channel:
263263
requester=requester,
264264
typename="Channel",
265265
id=obj["channel_id"],
266-
created_at=obj["channel_created_at"],
267-
updated_at=obj["channel_updated_at"],
266+
created_at=datetime.fromisoformat(obj["channel_created_at"]),
267+
updated_at=datetime.fromisoformat(obj["channel_updated_at"]),
268268
funding_transaction_id=obj["channel_funding_transaction"]["id"]
269269
if obj["channel_funding_transaction"]
270270
else None,

lightspark/objects/ChannelClosingTransaction.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,18 @@ def from_json(
106106
requester=requester,
107107
typename="ChannelClosingTransaction",
108108
id=obj["channel_closing_transaction_id"],
109-
created_at=obj["channel_closing_transaction_created_at"],
110-
updated_at=obj["channel_closing_transaction_updated_at"],
109+
created_at=datetime.fromisoformat(
110+
obj["channel_closing_transaction_created_at"]
111+
),
112+
updated_at=datetime.fromisoformat(
113+
obj["channel_closing_transaction_updated_at"]
114+
),
111115
status=parse_enum(TransactionStatus, obj["channel_closing_transaction_status"]),
112-
resolved_at=obj["channel_closing_transaction_resolved_at"],
116+
resolved_at=datetime.fromisoformat(
117+
obj["channel_closing_transaction_resolved_at"]
118+
)
119+
if obj["channel_closing_transaction_resolved_at"]
120+
else None,
113121
amount=CurrencyAmount_from_json(
114122
requester, obj["channel_closing_transaction_amount"]
115123
),

lightspark/objects/ChannelOpeningTransaction.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,18 @@ def from_json(
106106
requester=requester,
107107
typename="ChannelOpeningTransaction",
108108
id=obj["channel_opening_transaction_id"],
109-
created_at=obj["channel_opening_transaction_created_at"],
110-
updated_at=obj["channel_opening_transaction_updated_at"],
109+
created_at=datetime.fromisoformat(
110+
obj["channel_opening_transaction_created_at"]
111+
),
112+
updated_at=datetime.fromisoformat(
113+
obj["channel_opening_transaction_updated_at"]
114+
),
111115
status=parse_enum(TransactionStatus, obj["channel_opening_transaction_status"]),
112-
resolved_at=obj["channel_opening_transaction_resolved_at"],
116+
resolved_at=datetime.fromisoformat(
117+
obj["channel_opening_transaction_resolved_at"]
118+
)
119+
if obj["channel_opening_transaction_resolved_at"]
120+
else None,
113121
amount=CurrencyAmount_from_json(
114122
requester, obj["channel_opening_transaction_amount"]
115123
),

lightspark/objects/Deposit.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,12 @@ def from_json(requester: Requester, obj: Mapping[str, Any]) -> Deposit:
104104
requester=requester,
105105
typename="Deposit",
106106
id=obj["deposit_id"],
107-
created_at=obj["deposit_created_at"],
108-
updated_at=obj["deposit_updated_at"],
107+
created_at=datetime.fromisoformat(obj["deposit_created_at"]),
108+
updated_at=datetime.fromisoformat(obj["deposit_updated_at"]),
109109
status=parse_enum(TransactionStatus, obj["deposit_status"]),
110-
resolved_at=obj["deposit_resolved_at"],
110+
resolved_at=datetime.fromisoformat(obj["deposit_resolved_at"])
111+
if obj["deposit_resolved_at"]
112+
else None,
111113
amount=CurrencyAmount_from_json(requester, obj["deposit_amount"]),
112114
transaction_hash=obj["deposit_transaction_hash"],
113115
fees=CurrencyAmount_from_json(requester, obj["deposit_fees"])

lightspark/objects/GraphNode.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ def from_json(requester: Requester, obj: Mapping[str, Any]) -> GraphNode:
9898
requester=requester,
9999
typename="GraphNode",
100100
id=obj["graph_node_id"],
101-
created_at=obj["graph_node_created_at"],
102-
updated_at=obj["graph_node_updated_at"],
101+
created_at=datetime.fromisoformat(obj["graph_node_created_at"]),
102+
updated_at=datetime.fromisoformat(obj["graph_node_updated_at"]),
103103
alias=obj["graph_node_alias"],
104104
bitcoin_network=parse_enum(BitcoinNetwork, obj["graph_node_bitcoin_network"]),
105105
color=obj["graph_node_color"],

lightspark/objects/Hop.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ def from_json(requester: Requester, obj: Mapping[str, Any]) -> Hop:
8383
requester=requester,
8484
typename="Hop",
8585
id=obj["hop_id"],
86-
created_at=obj["hop_created_at"],
87-
updated_at=obj["hop_updated_at"],
86+
created_at=datetime.fromisoformat(obj["hop_created_at"]),
87+
updated_at=datetime.fromisoformat(obj["hop_updated_at"]),
8888
destination_id=obj["hop_destination"]["id"] if obj["hop_destination"] else None,
8989
index=obj["hop_index"],
9090
public_key=obj["hop_public_key"],

lightspark/objects/IncomingPayment.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,10 +160,12 @@ def from_json(requester: Requester, obj: Mapping[str, Any]) -> IncomingPayment:
160160
requester=requester,
161161
typename="IncomingPayment",
162162
id=obj["incoming_payment_id"],
163-
created_at=obj["incoming_payment_created_at"],
164-
updated_at=obj["incoming_payment_updated_at"],
163+
created_at=datetime.fromisoformat(obj["incoming_payment_created_at"]),
164+
updated_at=datetime.fromisoformat(obj["incoming_payment_updated_at"]),
165165
status=parse_enum(TransactionStatus, obj["incoming_payment_status"]),
166-
resolved_at=obj["incoming_payment_resolved_at"],
166+
resolved_at=datetime.fromisoformat(obj["incoming_payment_resolved_at"])
167+
if obj["incoming_payment_resolved_at"]
168+
else None,
167169
amount=CurrencyAmount_from_json(requester, obj["incoming_payment_amount"]),
168170
transaction_hash=obj["incoming_payment_transaction_hash"],
169171
destination_id=obj["incoming_payment_destination"]["id"],

lightspark/objects/IncomingPaymentAttempt.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,14 @@ def from_json(requester: Requester, obj: Mapping[str, Any]) -> IncomingPaymentAt
7171
requester=requester,
7272
typename="IncomingPaymentAttempt",
7373
id=obj["incoming_payment_attempt_id"],
74-
created_at=obj["incoming_payment_attempt_created_at"],
75-
updated_at=obj["incoming_payment_attempt_updated_at"],
74+
created_at=datetime.fromisoformat(obj["incoming_payment_attempt_created_at"]),
75+
updated_at=datetime.fromisoformat(obj["incoming_payment_attempt_updated_at"]),
7676
status=parse_enum(
7777
IncomingPaymentAttemptStatus, obj["incoming_payment_attempt_status"]
7878
),
79-
resolved_at=obj["incoming_payment_attempt_resolved_at"],
79+
resolved_at=datetime.fromisoformat(obj["incoming_payment_attempt_resolved_at"])
80+
if obj["incoming_payment_attempt_resolved_at"]
81+
else None,
8082
amount=CurrencyAmount_from_json(
8183
requester, obj["incoming_payment_attempt_amount"]
8284
),

0 commit comments

Comments
 (0)