diff --git a/src/ApiClient.php b/src/ApiClient.php index 015395d..a673502 100644 --- a/src/ApiClient.php +++ b/src/ApiClient.php @@ -145,6 +145,14 @@ public function invoice() return new Connector\InvoiceConnector($this); } + /** + * @return \Sminnee\WorkflowMax\Connector\CostConnector + */ + public function cost() + { + return new Connector\CostConnector($this); + } + /** * Make an API call * @param string $url The relative URL (e.g. 'jobs.api/list') diff --git a/src/Connector/CostConnector.php b/src/Connector/CostConnector.php new file mode 100644 index 0000000..58cefdc --- /dev/null +++ b/src/Connector/CostConnector.php @@ -0,0 +1,53 @@ +connector = $connector; + } + + /** + * Returns a cost byId cost number. + * + * @return Sminnee\WorkflowMax\Model\Cost + */ + function byId($cost) { + return new Cost($this->connector, $this->connector->apiCall( + "cost.api/get/$cost", + function($result) { return $result['Cost']; } + )); + } + + + /** + * @param $stubData + * + * @return mixed + */ + function byStub($stubData) { + return $this->byId($stubData['ID'])->populate($stubData); + } + + /** + * @param int $page + * + * @return mixed + */ + function all($page = 1) { + return $this->listFromApiCall($this->connector->apiCall('cost.api/list?page='.$page, function($result) { + return isset($result['Costs']['Cost']) ? $result['Costs']['Cost'] : []; + })); + } + } diff --git a/src/Model/Cost.php b/src/Model/Cost.php new file mode 100644 index 0000000..ce60662 --- /dev/null +++ b/src/Model/Cost.php @@ -0,0 +1,26 @@ +