@@ -235,11 +235,15 @@ def __init__(
235235 justification : Optional [ImpactAnalysisJustification ] = None ,
236236 responses : Optional [Iterable [ImpactAnalysisResponse ]] = None ,
237237 detail : Optional [str ] = None ,
238+ first_issued : Optional [datetime ] = None ,
239+ last_updated : Optional [datetime ] = None ,
238240 ) -> None :
239241 self .state = state
240242 self .justification = justification
241243 self .responses = responses or [] # type:ignore[assignment]
242244 self .detail = detail
245+ self .first_issued = first_issued
246+ self .last_updated = last_updated
243247
244248 @property
245249 @serializable .xml_sequence (1 )
@@ -307,29 +311,33 @@ def detail(self) -> Optional[str]:
307311 def detail (self , detail : Optional [str ]) -> None :
308312 self ._detail = detail
309313
310- # @property
311- # @serializable.view(SchemaVersion1Dot5)
312- # @serializable.xml_sequence(5)
313- # def first_issued(self) -> ...:
314- # ... # TODO since CDX 1.5
315- #
316- # @first_issued.setter
317- # def first_issued(self, ...) -> None:
318- # ... # TODO since CDX 1.5
314+ @property
315+ @serializable .view (SchemaVersion1Dot5 )
316+ @serializable .view (SchemaVersion1Dot6 )
317+ @serializable .type_mapping (serializable .helpers .XsdDateTime )
318+ @serializable .xml_sequence (5 )
319+ def first_issued (self ) -> Optional [datetime ]:
320+ return self ._first_issued
319321
320- # @property
321- # @serializable.view(SchemaVersion1Dot5)
322- # @serializable.xml_sequence(6)
323- # def last_updated(self) -> ...:
324- # ... # TODO since CDX 1.5
325- #
326- # @last_updated.setter
327- # def last_updated(self, ...) -> None:
328- # ... # TODO since CDX 1.5
322+ @first_issued .setter
323+ def first_issued (self , first_issue : Optional [datetime ]) -> None :
324+ self ._first_issued = first_issue
325+
326+ @property
327+ @serializable .view (SchemaVersion1Dot5 )
328+ @serializable .view (SchemaVersion1Dot6 )
329+ @serializable .type_mapping (serializable .helpers .XsdDateTime )
330+ @serializable .xml_sequence (6 )
331+ def last_updated (self ) -> Optional [datetime ]:
332+ return self ._last_updated
333+
334+ @last_updated .setter
335+ def last_updated (self , last_updated : Optional [datetime ]) -> None :
336+ self ._last_updated = last_updated
329337
330338 def __comparable_tuple (self ) -> _ComparableTuple :
331339 return _ComparableTuple ((
332- self .state , self .justification , tuple (self .responses ), self .detail
340+ self .state , self .justification , tuple (self .responses ), self .detail , self . first_issued , self . last_updated
333341 ))
334342
335343 def __eq__ (self , other : object ) -> bool :
0 commit comments