Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
freekmurze committed May 8, 2016
1 parent 4546594 commit 39ad3a4
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 19 deletions.
32 changes: 32 additions & 0 deletions src/Event.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

use Spatie\GoogleCalendar;

class Event
{
/** @var string */
public $name = '';

/** @var \Carbon\Carbon */
public $startDateTime;

/** @var \Carbon\Carbon */
public $endDateTime;

/** @var bool */
protected $allDayEvent = false;

public static function createFromGoogleCalendarEvent(Google_Service_Calendar_Event $googleEvent) {

$event = new static;

$event->name = $googleEvent->summary;

$event->startDateTime = $googleEvent['start']['date'] ?? $googleEvent['start']['dateTime'];

$event->endDateTime = $googleEvent['end']['date'] ?? $googleEvent['end']['dateTime'];

$event->allDayEvent = is_null($googleEvent['start']['dateTime']);

}
}
34 changes: 16 additions & 18 deletions src/GoogleCalendar.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
namespace Spatie\GoogleCalendar;

use Carbon\Carbon;
use Event;
use Google_Service_Calendar;
use Google_Service_Calendar_Event;
use Illuminate\Support\Collection;

class GoogleCalendar
{
Expand All @@ -24,39 +26,38 @@ public function __construct(Google_Service_Calendar $calendarService, $calendarI
$this->calendarId = $calendarId;

$this->eventTransformer = function (Google_Service_Calendar_Event $event) {
return [
$event['start']['dateTime'],
$event['end']['dateTime'],
$event->summary,
];
return Event::createFromGoogleCalendarEvent($event);
};
}

/**
* @return string
*/
public function getCalendarId()

public function getCalendarId() : string
{
return $this->calendarId;
}

/**
* @param callable $eventTransformer
* @return $this
*/
public function setEventTransformer(callable $eventTransformer)
{
$this->eventTransformer = $eventTransformer;

return $this;
}

/**
* List all events.
* List events.
*
* @param Carbon $startTime
* @param Carbon $endTime
* @param array $queryParameters
*
* @link https://developers.google.com/google-apps/calendar/v3/reference/events/list#parameters
*
* @return \Illuminate\Support\Collection
* @return Collection
*/
public function listEvents(Carbon $startTime = null, Carbon $endTime = null, $queryParameters = [])
public function listEvents(Carbon $startTime = null, Carbon $endTime = null, $queryParameters = []) : Collection
{
$parameters = [];

Expand All @@ -78,11 +79,8 @@ public function listEvents(Carbon $startTime = null, Carbon $endTime = null, $qu

return collect($events)->map($this->eventTransformer);
}

/**
* @return \Google_Service_Calendar|\Spatie\GoogleCalendar\Google_Service_Calendar
*/
public function getService()

public function getService() : Google_Service_Calendar
{
return $this->calendarService;
}
Expand Down
2 changes: 1 addition & 1 deletion src/GoogleCalendarFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

class GoogleCalendarFactory
{
public static function createForCalendarId()
public static function createForCalendarId() : GoogleCalendar
{
$config = config('laravel-google-calendar');

Expand Down

0 comments on commit 39ad3a4

Please sign in to comment.