Commit 6392b3a1 authored by Stein Welberg's avatar Stein Welberg Committed by Clement Bois
Browse files

chore: move project param creation to DtProjectDef class

parent b4ad1b70
Loading
Loading
Loading
Loading
+26 −29
Original line number Diff line number Diff line
@@ -130,6 +130,18 @@ class DtProjectDef:
            return None
        return self.definition.split("@")[1] if "@" in self.definition else None

    @property
    def params(self) -> dict[str, str]:
        params = {}
        if self.is_uuid:
            # target project definition is a UUID: nothing more is required
            params["project"] = self.uuid
        else:
            # target project definition is a project name: assume exists or set autoCreate with parent if permission PROJECT_CREATION_UPLOAD
            params["projectName"] = self.name
            params["projectVersion"] = self.version
        return params


class Version:
    def __init__(self, version_str):
@@ -525,15 +537,8 @@ class Scanner:
    ):
        project_path_parts = project_path.split(self.path_separator)
        # determine publish params
        params = {}
        project_def = DtProjectDef(project_path_parts[-1])
        if project_def.is_uuid:
            # target project definition is a UUID: nothing more is required
            params["project"] = project_def.uuid
        else:
            # target project definition is a project name: assume exists or set autoCreate with parent if permission PROJECT_CREATION_UPLOAD
            params["projectName"] = project_def.name
            params["projectVersion"] = project_def.version
        params = project_def.params

        if self.has_permission(DtPermission.PROJECT_CREATION_UPLOAD):
            params["autoCreate"] = "true"
@@ -606,15 +611,6 @@ class Scanner:
    def do_vex_publish(self, project_def: DtProjectDef, vex_file_path: Path,  event_id: str):
        self.wait_for_event_processing(event_id)

        params = {}
        if project_def.is_uuid:
            # target project definition is a UUID: nothing more is required
            params["project"] = project_def.uuid
        else:
            # target project definition is a project name: assume exists or set autoCreate with parent if permission PROJECT_CREATION_UPLOAD
            params["projectName"] = project_def.name
            params["projectVersion"] = project_def.version

        if not vex_file_path.exists():
            print(
                f"- VEX file {AnsiColors.YELLOW}not found, skipping upload{AnsiColors.RESET}: {AnsiColors.HGRAY}{vex_file_path}{AnsiColors.RESET}"
@@ -622,6 +618,7 @@ class Scanner:
            return event_id

        with open(vex_file_path, "r") as vex_file:
            params = project_def.params
            resp = requests.post(
                f"{self.base_api_url}/v1/vex",
                headers={"X-API-Key": self.api_key, "accept": MIME_APPLICATION_JSON},