Skip to content

Commit beea17a

Browse files
committed
fixed artifact base and head
1 parent 22d4fbd commit beea17a

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

socketdev/fullscans/__init__.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -191,17 +191,22 @@ def from_dict(cls, data: dict) -> "GetFullScanMetadataResponse":
191191

192192
@dataclass
193193
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
196198

197199
def __getitem__(self, key): return getattr(self, key)
198200
def to_dict(self): return asdict(self)
199201

200202
@classmethod
201203
def from_dict(cls, data: dict) -> "DependencyRef":
204+
manifest_files = data.get("manifestFiles")
202205
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")
205210
)
206211

207212
@dataclass
@@ -400,8 +405,8 @@ class DiffArtifact:
400405
licenseDetails: List[LicenseDetail]
401406
files: Optional[str] = None
402407
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
405410
namespace: Optional[str] = None
406411
subpath: Optional[str] = None
407412
artifact_id: Optional[str] = None
@@ -418,6 +423,8 @@ def to_dict(self): return asdict(self)
418423

419424
@classmethod
420425
def from_dict(cls, data: dict) -> "DiffArtifact":
426+
base_data = data.get("base")
427+
head_data = data.get("head")
421428
return cls(
422429
diffType=DiffType(data["diffType"]),
423430
id=data["id"],
@@ -430,8 +437,8 @@ def from_dict(cls, data: dict) -> "DiffArtifact":
430437
licenseDetails=[LicenseDetail.from_dict(detail) for detail in data["licenseDetails"]],
431438
files=data.get("files"),
432439
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,
435442
namespace=data.get("namespace"),
436443
subpath=data.get("subpath"),
437444
artifact_id=data.get("artifact_id"),

0 commit comments

Comments
 (0)