@@ -135,7 +135,7 @@ async def add_or_update_session(
135135 )
136136
137137 return OCPIResponse (
138- data = [adapter .session_adapter (data ).model_dump ()],
138+ data = [adapter .session_adapter (data , VersionNumber . v_2_2_1 ).model_dump ()],
139139 ** status .OCPI_1000_GENERIC_SUCESS_CODE ,
140140 )
141141
@@ -185,7 +185,10 @@ async def partial_update_session(
185185 version = VersionNumber .v_2_2_1 ,
186186 )
187187 if old_data :
188- old_session = adapter .session_adapter (old_data )
188+ # Adapt with this receiver's version (2.2.1); the default is the latest
189+ # version, which would re-validate the stored session against a newer,
190+ # stricter schema and 500 on fields optional in 2.2.1.
191+ old_session = adapter .session_adapter (old_data , version = VersionNumber .v_2_2_1 )
189192
190193 new_session = copy .deepcopy (old_session )
191194 partially_update_attributes (
@@ -204,7 +207,7 @@ async def partial_update_session(
204207 )
205208
206209 return OCPIResponse (
207- data = [adapter .session_adapter (data ).model_dump ()],
210+ data = [adapter .session_adapter (data , VersionNumber . v_2_2_1 ).model_dump ()],
208211 ** status .OCPI_1000_GENERIC_SUCESS_CODE ,
209212 )
210213 logger .debug (f"Session with id `{ session_id } ` was not found." )
0 commit comments