@@ -193,7 +193,7 @@ def to_diff_node(self, enriched_node: EnrichedDiffNode, graphql_context: Graphql
193193 label = enriched_node .label ,
194194 status = enriched_node .action ,
195195 parent = parent ,
196- last_changed_at = enriched_node .changed_at .obj if enriched_node .changed_at else None ,
196+ last_changed_at = enriched_node .changed_at .to_datetime () if enriched_node .changed_at else None ,
197197 path_identifier = enriched_node .path_identifier ,
198198 attributes = diff_attributes ,
199199 relationships = diff_relationships ,
@@ -219,7 +219,7 @@ def to_diff_attribute(
219219 diff_prop .conflict = None
220220 return DiffAttribute (
221221 name = enriched_attribute .name ,
222- last_changed_at = enriched_attribute .changed_at .obj ,
222+ last_changed_at = enriched_attribute .changed_at .to_datetime () ,
223223 status = enriched_attribute .action ,
224224 path_identifier = enriched_attribute .path_identifier ,
225225 properties = diff_properties ,
@@ -241,7 +241,9 @@ def to_diff_relationship(
241241 return DiffRelationship (
242242 name = enriched_relationship .name ,
243243 label = enriched_relationship .label ,
244- last_changed_at = enriched_relationship .changed_at .obj if enriched_relationship .changed_at else None ,
244+ last_changed_at = enriched_relationship .changed_at .to_datetime ()
245+ if enriched_relationship .changed_at
246+ else None ,
245247 status = enriched_relationship .action ,
246248 cardinality = enriched_relationship .cardinality ,
247249 path_identifier = enriched_relationship .path_identifier ,
@@ -263,7 +265,7 @@ def to_diff_relationship_element(
263265 enriched_conflict = enriched_element .conflict , graphql_context = graphql_context
264266 )
265267 return DiffSingleRelationship (
266- last_changed_at = enriched_element .changed_at .obj ,
268+ last_changed_at = enriched_element .changed_at .to_datetime () ,
267269 status = enriched_element .action ,
268270 peer_id = enriched_element .peer_id ,
269271 peer_label = enriched_element .peer_label ,
@@ -287,7 +289,7 @@ def to_diff_property(
287289 )
288290 return DiffProperty (
289291 property_type = enriched_property .property_type .value ,
290- last_changed_at = enriched_property .changed_at .obj ,
292+ last_changed_at = enriched_property .changed_at .to_datetime () ,
291293 previous_value = enriched_property .previous_value ,
292294 new_value = enriched_property .new_value ,
293295 previous_label = enriched_property .previous_label ,
@@ -306,13 +308,13 @@ def to_diff_conflict(
306308 uuid = enriched_conflict .uuid ,
307309 base_branch_action = enriched_conflict .base_branch_action ,
308310 base_branch_value = enriched_conflict .base_branch_value ,
309- base_branch_changed_at = enriched_conflict .base_branch_changed_at .obj
311+ base_branch_changed_at = enriched_conflict .base_branch_changed_at .to_datetime ()
310312 if enriched_conflict .base_branch_changed_at
311313 else None ,
312314 base_branch_label = enriched_conflict .base_branch_label ,
313315 diff_branch_action = enriched_conflict .diff_branch_action ,
314316 diff_branch_value = enriched_conflict .diff_branch_value ,
315- diff_branch_changed_at = enriched_conflict .diff_branch_changed_at .obj
317+ diff_branch_changed_at = enriched_conflict .diff_branch_changed_at .to_datetime ()
316318 if enriched_conflict .diff_branch_changed_at
317319 else None ,
318320 diff_branch_label = enriched_conflict .diff_branch_label ,
@@ -426,7 +428,10 @@ async def resolve(
426428 # take the one with the longest duration that covers multiple branches
427429 enriched_diff = sorted (
428430 enriched_diffs ,
429- key = lambda d : (d .base_branch_name != d .diff_branch_name , d .to_time .obj - d .from_time .obj ),
431+ key = lambda d : (
432+ d .base_branch_name != d .diff_branch_name ,
433+ d .to_time .to_datetime () - d .from_time .to_datetime (),
434+ ),
430435 reverse = True ,
431436 )[0 ]
432437 else :
@@ -485,8 +490,8 @@ async def summary(
485490 diff_tree_summary = DiffTreeSummary (
486491 base_branch = base_branch .name ,
487492 diff_branch = diff_branch .name ,
488- from_time = summary .from_time .obj ,
489- to_time = summary .to_time .obj ,
493+ from_time = summary .from_time .to_datetime () ,
494+ to_time = summary .to_time .to_datetime () ,
490495 ** summary .model_dump (exclude = {"from_time" , "to_time" }),
491496 )
492497 full_fields = await extract_fields (info .field_nodes [0 ].selection_set )
0 commit comments