Commit d9c954ad authored by Mark Siy's avatar Mark Siy

Fixes

parent c460e8e0
...@@ -19,6 +19,7 @@ class Api ...@@ -19,6 +19,7 @@ class Api
public function __construct() public function __construct()
{ {
// Instantiate all component classes for this api.
$this->User = new User($this); $this->User = new User($this);
$this->Group = new Group($this); $this->Group = new Group($this);
} }
......
...@@ -8,20 +8,20 @@ use GuzzleHttp\Client as Guzzle; ...@@ -8,20 +8,20 @@ use GuzzleHttp\Client as Guzzle;
use Microsoft\Graph\Graph; use Microsoft\Graph\Graph;
use Microsoft\Graph\Model; use Microsoft\Graph\Model;
class Group extends Api class Group
{ {
public $Api; // This class can only be booted from the core api class of this package.
public function __construct($parent) public function __construct(API $coreApi)
{ {
$this->Api = $parent; $this->coreApi = $coreApi;
} }
public function all() public function all()
{ {
$result = $this->Api->triggerGraph()->createRequest('GET', '/groups') $result = $this->coreApi->triggerGraph()->createRequest('GET', '/groups')
->setReturnType(Model\Group::class) ->setReturnType(Model\Group::class)
->execute(); ->execute();
return $this->Api->toCollection($result); return $this->coreApi->toCollection($result);
} }
} }
...@@ -8,83 +8,83 @@ use GuzzleHttp\Client as Guzzle; ...@@ -8,83 +8,83 @@ use GuzzleHttp\Client as Guzzle;
use Microsoft\Graph\Graph; use Microsoft\Graph\Graph;
use Microsoft\Graph\Model; use Microsoft\Graph\Model;
class User extends Api class User
{ {
public $Api; // This class can only be booted from the core api class of this package.
public function __construct($parent) public function __construct(API $coreApi)
{ {
$this->Api = $parent; $this->coreApi = $coreApi;
} }
public function all() public function all()
{ {
$result = $this->Api->triggerGraph()->createRequest('GET', '/users') $result = $this->coreApi->triggerGraph()->createRequest('GET', '/users')
->setReturnType(Model\User::class) ->setReturnType(Model\User::class)
->execute(); ->execute();
return $this->Api->toCollection($result); return $this->coreApi->toCollection($result);
} }
public function get($id) public function get($id)
{ {
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id) $result = $this->coreApi->triggerGraph()->createRequest('GET', '/users/'.$id)
->setReturnType(Model\User::class) ->setReturnType(Model\User::class)
->execute(); ->execute();
return $this->Api->toObject($result); return $this->coreApi->toObject($result);
} }
public function getProfilePhoto($id) public function getProfilePhoto($id)
{ {
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id.'/photo/$value') $result = $this->coreApi->triggerGraph()->createRequest('GET', '/users/'.$id.'/photo/$value')
->setReturnType(Model\ProfilePhoto::class) ->setReturnType(Model\ProfilePhoto::class)
->execute(); ->execute();
return $this->Api->toObject($result); return $this->coreApi->toObject($result);
} }
public function getManager($id) public function getManager($id)
{ {
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id.'/manager') $result = $this->coreApi->triggerGraph()->createRequest('GET', '/users/'.$id.'/manager')
->setReturnType(Model\User::class) ->setReturnType(Model\User::class)
->execute(); ->execute();
return $this->Api->toObject($result); return $this->coreApi->toObject($result);
} }
public function getMessages($id) public function getMessages($id)
{ {
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id.'/messages') $result = $this->coreApi->triggerGraph()->createRequest('GET', '/users/'.$id.'/messages')
->setReturnType(Model\Message::class) ->setReturnType(Model\Message::class)
->execute(); ->execute();
return $this->Api->toCollection($result); return $this->coreApi->toCollection($result);
} }
public function getEvents($id) public function getEvents($id)
{ {
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id.'/events') $result = $this->coreApi->triggerGraph()->createRequest('GET', '/users/'.$id.'/events')
->setReturnType(Model\Event::class) ->setReturnType(Model\Event::class)
->execute(); ->execute();
return $this->Api->toCollection($result); return $this->coreApi->toCollection($result);
} }
public function getDrive($id) public function getDrive($id)
{ {
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id.'/drive') $result = $this->coreApi->triggerGraph()->createRequest('GET', '/users/'.$id.'/drive')
->setReturnType(Model\Drive::class) ->setReturnType(Model\Drive::class)
->execute(); ->execute();
return $this->Api->toObject($result); return $this->coreApi->toObject($result);
} }
public function getMemberOf($id) public function getMemberOf($id)
{ {
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id.'/memberOf') $result = $this->coreApi->triggerGraph()->createRequest('GET', '/users/'.$id.'/memberOf')
->setReturnType(Model\Group::class) ->setReturnType(Model\Group::class)
->execute(); ->execute();
return $this->Api->toCollection($result); return $this->coreApi->toCollection($result);
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment