_propDict = $propDict; } /** * Gets the property dictionary of the WorkflowBase * * @return array The list of properties */ public function getProperties() { return $this->_propDict; } /** * Gets the category * The category of the workflow. The possible values are: joiner, leaver, unknownFutureValue. * * @return LifecycleWorkflowCategory|null The category */ public function getCategory() { if (array_key_exists("category", $this->_propDict)) { if (is_a($this->_propDict["category"], "\Microsoft\Graph\IdentityGovernanceNamespace\Model\LifecycleWorkflowCategory") || is_null($this->_propDict["category"])) { return $this->_propDict["category"]; } else { $this->_propDict["category"] = new LifecycleWorkflowCategory($this->_propDict["category"]); return $this->_propDict["category"]; } } return null; } /** * Sets the category * The category of the workflow. The possible values are: joiner, leaver, unknownFutureValue. * * @param LifecycleWorkflowCategory $val The category * * @return WorkflowBase */ public function setCategory($val) { $this->_propDict["category"] = $val; return $this; } /** * Gets the createdDateTime * When a workflow was created. * * @return \DateTime|null The createdDateTime */ public function getCreatedDateTime() { if (array_key_exists("createdDateTime", $this->_propDict)) { if (is_a($this->_propDict["createdDateTime"], "\DateTime") || is_null($this->_propDict["createdDateTime"])) { return $this->_propDict["createdDateTime"]; } else { $this->_propDict["createdDateTime"] = new \DateTime($this->_propDict["createdDateTime"]); return $this->_propDict["createdDateTime"]; } } return null; } /** * Sets the createdDateTime * When a workflow was created. * * @param \DateTime $val The createdDateTime * * @return WorkflowBase */ public function setCreatedDateTime($val) { $this->_propDict["createdDateTime"] = $val; return $this; } /** * Gets the description * A string that describes the purpose of the workflow. * * @return string|null The description */ public function getDescription() { if (array_key_exists("description", $this->_propDict)) { return $this->_propDict["description"]; } else { return null; } } /** * Sets the description * A string that describes the purpose of the workflow. * * @param string $val The description * * @return WorkflowBase */ public function setDescription($val) { $this->_propDict["description"] = $val; return $this; } /** * Gets the displayName * A string to identify the workflow. * * @return string|null The displayName */ public function getDisplayName() { if (array_key_exists("displayName", $this->_propDict)) { return $this->_propDict["displayName"]; } else { return null; } } /** * Sets the displayName * A string to identify the workflow. * * @param string $val The displayName * * @return WorkflowBase */ public function setDisplayName($val) { $this->_propDict["displayName"] = $val; return $this; } /** * Gets the executionConditions * Defines when and for who the workflow will run. * * @return WorkflowExecutionConditions|null The executionConditions */ public function getExecutionConditions() { if (array_key_exists("executionConditions", $this->_propDict)) { if (is_a($this->_propDict["executionConditions"], "\Microsoft\Graph\IdentityGovernanceNamespace\Model\WorkflowExecutionConditions") || is_null($this->_propDict["executionConditions"])) { return $this->_propDict["executionConditions"]; } else { $this->_propDict["executionConditions"] = new WorkflowExecutionConditions($this->_propDict["executionConditions"]); return $this->_propDict["executionConditions"]; } } return null; } /** * Sets the executionConditions * Defines when and for who the workflow will run. * * @param WorkflowExecutionConditions $val The executionConditions * * @return WorkflowBase */ public function setExecutionConditions($val) { $this->_propDict["executionConditions"] = $val; return $this; } /** * Gets the isEnabled * Whether the workflow is enabled or disabled. If this setting is true, the workflow can be run on demand or on schedule when isSchedulingEnabled is true. * * @return bool|null The isEnabled */ public function getIsEnabled() { if (array_key_exists("isEnabled", $this->_propDict)) { return $this->_propDict["isEnabled"]; } else { return null; } } /** * Sets the isEnabled * Whether the workflow is enabled or disabled. If this setting is true, the workflow can be run on demand or on schedule when isSchedulingEnabled is true. * * @param bool $val The isEnabled * * @return WorkflowBase */ public function setIsEnabled($val) { $this->_propDict["isEnabled"] = boolval($val); return $this; } /** * Gets the isSchedulingEnabled * If true, the Lifecycle Workflow engine executes the workflow based on the schedule defined by tenant settings. Can't be true for a disabled workflow (where isEnabled is false). * * @return bool|null The isSchedulingEnabled */ public function getIsSchedulingEnabled() { if (array_key_exists("isSchedulingEnabled", $this->_propDict)) { return $this->_propDict["isSchedulingEnabled"]; } else { return null; } } /** * Sets the isSchedulingEnabled * If true, the Lifecycle Workflow engine executes the workflow based on the schedule defined by tenant settings. Can't be true for a disabled workflow (where isEnabled is false). * * @param bool $val The isSchedulingEnabled * * @return WorkflowBase */ public function setIsSchedulingEnabled($val) { $this->_propDict["isSchedulingEnabled"] = boolval($val); return $this; } /** * Gets the lastModifiedDateTime * When the workflow was last modified. * * @return \DateTime|null The lastModifiedDateTime */ public function getLastModifiedDateTime() { if (array_key_exists("lastModifiedDateTime", $this->_propDict)) { if (is_a($this->_propDict["lastModifiedDateTime"], "\DateTime") || is_null($this->_propDict["lastModifiedDateTime"])) { return $this->_propDict["lastModifiedDateTime"]; } else { $this->_propDict["lastModifiedDateTime"] = new \DateTime($this->_propDict["lastModifiedDateTime"]); return $this->_propDict["lastModifiedDateTime"]; } } return null; } /** * Sets the lastModifiedDateTime * When the workflow was last modified. * * @param \DateTime $val The lastModifiedDateTime * * @return WorkflowBase */ public function setLastModifiedDateTime($val) { $this->_propDict["lastModifiedDateTime"] = $val; return $this; } /** * Gets the createdBy * The user who created the workflow. * * @return \Microsoft\Graph\Model\User|null The createdBy */ public function getCreatedBy() { if (array_key_exists("createdBy", $this->_propDict)) { if (is_a($this->_propDict["createdBy"], "\Microsoft\Graph\Model\User") || is_null($this->_propDict["createdBy"])) { return $this->_propDict["createdBy"]; } else { $this->_propDict["createdBy"] = new \Microsoft\Graph\Model\User($this->_propDict["createdBy"]); return $this->_propDict["createdBy"]; } } return null; } /** * Sets the createdBy * The user who created the workflow. * * @param \Microsoft\Graph\Model\User $val The createdBy * * @return WorkflowBase */ public function setCreatedBy($val) { $this->_propDict["createdBy"] = $val; return $this; } /** * Gets the lastModifiedBy * The unique identifier of the Microsoft Entra identity that last modified the workflow. * * @return \Microsoft\Graph\Model\User|null The lastModifiedBy */ public function getLastModifiedBy() { if (array_key_exists("lastModifiedBy", $this->_propDict)) { if (is_a($this->_propDict["lastModifiedBy"], "\Microsoft\Graph\Model\User") || is_null($this->_propDict["lastModifiedBy"])) { return $this->_propDict["lastModifiedBy"]; } else { $this->_propDict["lastModifiedBy"] = new \Microsoft\Graph\Model\User($this->_propDict["lastModifiedBy"]); return $this->_propDict["lastModifiedBy"]; } } return null; } /** * Sets the lastModifiedBy * The unique identifier of the Microsoft Entra identity that last modified the workflow. * * @param \Microsoft\Graph\Model\User $val The lastModifiedBy * * @return WorkflowBase */ public function setLastModifiedBy($val) { $this->_propDict["lastModifiedBy"] = $val; return $this; } /** * Gets the tasks * The tasks in the workflow. * * @return array|null The tasks */ public function getTasks() { if (array_key_exists("tasks", $this->_propDict)) { return $this->_propDict["tasks"]; } else { return null; } } /** * Sets the tasks * The tasks in the workflow. * * @param Task[] $val The tasks * * @return WorkflowBase */ public function setTasks($val) { $this->_propDict["tasks"] = $val; return $this; } /** * Gets the ODataType * * @return string|null The ODataType */ public function getODataType() { if (array_key_exists('@odata.type', $this->_propDict)) { return $this->_propDict["@odata.type"]; } return null; } /** * Sets the ODataType * * @param string $val The ODataType * * @return WorkflowBase */ public function setODataType($val) { $this->_propDict["@odata.type"] = $val; return $this; } /** * Serializes the object by property array * Manually serialize DateTime into RFC3339 format * * @return array The list of properties */ #[\ReturnTypeWillChange] public function jsonSerialize() { $serializableProperties = $this->getProperties(); foreach ($serializableProperties as $property => $val) { if (is_a($val, "\DateTime")) { $serializableProperties[$property] = $val->format(\DateTime::RFC3339); } else if (is_a($val, "\Microsoft\Graph\Core\Enum")) { $serializableProperties[$property] = $val->value(); } else if (is_a($val, "\Entity")) { $serializableProperties[$property] = $val->jsonSerialize(); } else if (is_a($val, "\GuzzleHttp\Psr7\Stream")) { $serializableProperties[$property] = (string) $val; } } return $serializableProperties; } }