@@ -191,17 +191,22 @@ def from_dict(cls, data: dict) -> "GetFullScanMetadataResponse":
191
191
192
192
@dataclass
193
193
class DependencyRef :
194
- direct : bool
195
- toplevelAncestors : List [str ]
194
+ topLevelAncestors : List [str ]
195
+ direct : Optional [bool ] = None
196
+ manifestFiles : Optional [List [SocketManifestReference ]] = None
197
+ dependencies : Optional [List [str ]] = None
196
198
197
199
def __getitem__ (self , key ): return getattr (self , key )
198
200
def to_dict (self ): return asdict (self )
199
201
200
202
@classmethod
201
203
def from_dict (cls , data : dict ) -> "DependencyRef" :
204
+ manifest_files = data .get ("manifestFiles" )
202
205
return cls (
203
- direct = data ["direct" ],
204
- toplevelAncestors = data ["toplevelAncestors" ]
206
+ topLevelAncestors = data ["topLevelAncestors" ],
207
+ direct = data .get ("direct" ),
208
+ manifestFiles = [SocketManifestReference .from_dict (m ) for m in manifest_files ] if manifest_files else None ,
209
+ dependencies = data .get ("dependencies" )
205
210
)
206
211
207
212
@dataclass
@@ -400,8 +405,8 @@ class DiffArtifact:
400
405
licenseDetails : List [LicenseDetail ]
401
406
files : Optional [str ] = None
402
407
capabilities : Optional [SecurityCapabilities ] = None
403
- base : Optional [DependencyRef ] = None
404
- head : Optional [DependencyRef ] = None
408
+ base : Optional [List [ DependencyRef ] ] = None
409
+ head : Optional [List [ DependencyRef ] ] = None
405
410
namespace : Optional [str ] = None
406
411
subpath : Optional [str ] = None
407
412
artifact_id : Optional [str ] = None
@@ -418,6 +423,8 @@ def to_dict(self): return asdict(self)
418
423
419
424
@classmethod
420
425
def from_dict (cls , data : dict ) -> "DiffArtifact" :
426
+ base_data = data .get ("base" )
427
+ head_data = data .get ("head" )
421
428
return cls (
422
429
diffType = DiffType (data ["diffType" ]),
423
430
id = data ["id" ],
@@ -430,8 +437,8 @@ def from_dict(cls, data: dict) -> "DiffArtifact":
430
437
licenseDetails = [LicenseDetail .from_dict (detail ) for detail in data ["licenseDetails" ]],
431
438
files = data .get ("files" ),
432
439
capabilities = SecurityCapabilities .from_dict (data ["capabilities" ]) if data .get ("capabilities" ) else None ,
433
- base = DependencyRef .from_dict (data [ "base" ]) if data . get ( "base" ) else None ,
434
- head = DependencyRef .from_dict (data [ "head" ]) if data . get ( "head" ) else None ,
440
+ base = [ DependencyRef .from_dict (b ) for b in base_data ] if base_data else None ,
441
+ head = [ DependencyRef .from_dict (h ) for h in head_data ] if head_data else None ,
435
442
namespace = data .get ("namespace" ),
436
443
subpath = data .get ("subpath" ),
437
444
artifact_id = data .get ("artifact_id" ),
0 commit comments