452 lines
13 KiB
PHP
452 lines
13 KiB
PHP
<?php
|
|
/**
|
|
* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
|
|
*
|
|
* WorkflowBase File
|
|
* PHP version 7
|
|
*
|
|
* @category Library
|
|
* @package Microsoft.Graph
|
|
* @copyright (c) Microsoft Corporation. All rights reserved.
|
|
* @license https://opensource.org/licenses/MIT MIT License
|
|
* @link https://graph.microsoft.com
|
|
*/
|
|
namespace Beta\Microsoft\Graph\IdentityGovernanceNamespace\Model;
|
|
|
|
/**
|
|
* WorkflowBase class
|
|
*
|
|
* @category Model
|
|
* @package Microsoft.Graph
|
|
* @copyright (c) Microsoft Corporation. All rights reserved.
|
|
* @license https://opensource.org/licenses/MIT MIT License
|
|
* @link https://graph.microsoft.com
|
|
*/
|
|
class WorkflowBase implements \JsonSerializable
|
|
{
|
|
/**
|
|
* The array of properties available
|
|
* to the model
|
|
*
|
|
* @var array $_propDict
|
|
*/
|
|
protected $_propDict;
|
|
|
|
/**
|
|
* Construct a new WorkflowBase
|
|
*
|
|
* @param array $propDict A list of properties to set
|
|
*/
|
|
function __construct($propDict = array())
|
|
{
|
|
if (!is_array($propDict)) {
|
|
$propDict = array();
|
|
}
|
|
$this->_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"], "\Beta\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"], "\Beta\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
|
|
* Determines 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
|
|
* Determines 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 \Beta\Microsoft\Graph\Model\User|null The createdBy
|
|
*/
|
|
public function getCreatedBy()
|
|
{
|
|
if (array_key_exists("createdBy", $this->_propDict)) {
|
|
if (is_a($this->_propDict["createdBy"], "\Beta\Microsoft\Graph\Model\User") || is_null($this->_propDict["createdBy"])) {
|
|
return $this->_propDict["createdBy"];
|
|
} else {
|
|
$this->_propDict["createdBy"] = new \Beta\Microsoft\Graph\Model\User($this->_propDict["createdBy"]);
|
|
return $this->_propDict["createdBy"];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* Sets the createdBy
|
|
* The user who created the workflow.
|
|
*
|
|
* @param \Beta\Microsoft\Graph\Model\User $val The createdBy
|
|
*
|
|
* @return WorkflowBase
|
|
*/
|
|
public function setCreatedBy($val)
|
|
{
|
|
$this->_propDict["createdBy"] = $val;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Gets the lastModifiedBy
|
|
* The user who last modified the workflow.
|
|
*
|
|
* @return \Beta\Microsoft\Graph\Model\User|null The lastModifiedBy
|
|
*/
|
|
public function getLastModifiedBy()
|
|
{
|
|
if (array_key_exists("lastModifiedBy", $this->_propDict)) {
|
|
if (is_a($this->_propDict["lastModifiedBy"], "\Beta\Microsoft\Graph\Model\User") || is_null($this->_propDict["lastModifiedBy"])) {
|
|
return $this->_propDict["lastModifiedBy"];
|
|
} else {
|
|
$this->_propDict["lastModifiedBy"] = new \Beta\Microsoft\Graph\Model\User($this->_propDict["lastModifiedBy"]);
|
|
return $this->_propDict["lastModifiedBy"];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* Sets the lastModifiedBy
|
|
* The user who last modified the workflow.
|
|
*
|
|
* @param \Beta\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;
|
|
}
|
|
}
|