Commit c460e8e0 authored by Mark Siy's avatar Mark Siy

updates on office 365 api

parent 4923c32d
......@@ -10,11 +10,18 @@ use Microsoft\Graph\Model;
class Api
{
private $tenantId;
private $clientId;
private $clientSecret;
private $accessToken;
public $User;
public $Group;
public function __construct()
{
$this->User = new User($this);
$this->Group = new Group($this);
}
public function setTenantId($tenantId)
{
......@@ -49,151 +56,20 @@ class Api
$this->accessToken = $token->access_token;
}
private function triggerGraph()
public function triggerGraph()
{
$graph = new Graph();
$graph->setAccessToken($this->accessToken);
return $graph;
}
public function getAllUsers()
{
$result = $this->triggerGraph()->createRequest('GET', '/users')->execute();
if(empty($result))
{
return false;
}
if(!isset($result['value']))
{
return false;
}
return collect($result['value']);
}
public function getUser($id)
{
$result = $this->triggerGraph()->createRequest('GET', '/users/'.$id)->execute();
if(empty($result))
{
return false;
}
//return $result;
}
public static function getUserProfilePhoto($id)
{
$accessToken = Api::getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$userProfilePhoto = $graph->createRequest('GET', '/users/'.$id.'/photo/$value')
->setReturnType(Model\User::class)
->execute();
return dd($userProfilePhoto);
}
public function getUserManager($id)
public function toCollection($result)
{
$accessToken = Api::getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$userManager = $graph->createRequest('GET', '/users/'.$id.'/manager')
->setReturnType(Model\User::class)
->execute();
return dd($userManager);
return collect(json_decode(json_encode($result)));
}
public function getUserMessages($id)
public function toObject($result)
{
$accessToken = Api::getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$userMessages = $graph->createRequest('GET', '/users/'.$id.'/messages')
->setReturnType(Model\User::class)
->execute();
return dd($userMessages);
}
public function getUserEvents($id)
{
$accessToken = Api::getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$userEvents = $graph->createRequest('GET', '/users/'.$id.'/events')
->setReturnType(Model\User::class)
->execute();
return dd($userEvents);
}
public function getUserDrive($id)
{
$accessToken = Api::getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$userDrive = $graph->createRequest('GET', '/users/'.$id.'/drive')
->setReturnType(Model\User::class)
->execute();
return dd($userDrive);
}
public function getUserGroups($id)
{
$accessToken = Api::getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$userGroups = $graph->createRequest('GET', '/users/'.$id.'/memberOf')
->setReturnType(Model\User::class)
->execute();
return dd($userGroups);
}
public function getAllGroups()
{
$accessToken = Api::getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$groups = $graph->createRequest('GET', '/groups')
->setReturnType(Model\Group::class)
->execute();
return dd($groups);
return json_decode(collect($result));
}
}
<?php
namespace Nexus\MicrosoftGraphApi;
use Illuminate\Http\Request;
use GuzzleHttp\Client as Guzzle;
use Microsoft\Graph\Graph;
use Microsoft\Graph\Model;
class Group extends Api
{
public $Api;
public function __construct($parent)
{
$this->Api = $parent;
}
public function all()
{
$result = $this->Api->triggerGraph()->createRequest('GET', '/groups')
->setReturnType(Model\Group::class)
->execute();
return $this->Api->toCollection($result);
}
}
<?php
namespace Nexus\MicrosoftGraphApi;
use Illuminate\Http\Request;
use GuzzleHttp\Client as Guzzle;
use Microsoft\Graph\Graph;
use Microsoft\Graph\Model;
class User extends Api
{
public $Api;
public function __construct($parent)
{
$this->Api = $parent;
}
public function all()
{
$result = $this->Api->triggerGraph()->createRequest('GET', '/users')
->setReturnType(Model\User::class)
->execute();
return $this->Api->toCollection($result);
}
public function get($id)
{
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id)
->setReturnType(Model\User::class)
->execute();
return $this->Api->toObject($result);
}
public function getProfilePhoto($id)
{
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id.'/photo/$value')
->setReturnType(Model\ProfilePhoto::class)
->execute();
return $this->Api->toObject($result);
}
public function getManager($id)
{
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id.'/manager')
->setReturnType(Model\User::class)
->execute();
return $this->Api->toObject($result);
}
public function getMessages($id)
{
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id.'/messages')
->setReturnType(Model\Message::class)
->execute();
return $this->Api->toCollection($result);
}
public function getEvents($id)
{
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id.'/events')
->setReturnType(Model\Event::class)
->execute();
return $this->Api->toCollection($result);
}
public function getDrive($id)
{
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id.'/drive')
->setReturnType(Model\Drive::class)
->execute();
return $this->Api->toObject($result);
}
public function getMemberOf($id)
{
$result = $this->Api->triggerGraph()->createRequest('GET', '/users/'.$id.'/memberOf')
->setReturnType(Model\Group::class)
->execute();
return $this->Api->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