Skip to content

Commit

Permalink
Merge pull request #5 from franciscobizi/dev
Browse files Browse the repository at this point in the history
Adding errors message
  • Loading branch information
franciscobizi committed Oct 11, 2022
2 parents c0d5c8a + 9769e2b commit ae266e0
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 8 deletions.
20 changes: 12 additions & 8 deletions src/Calendar/GoogleCalendar.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@

namespace FBIZI\Calendar;

use FBIZI\Traits\AuthErrorResponse;

/**
* Google Calendar class
*
* @author Francisco Bizi
*/
class GoogleCalendar
{
use AuthErrorResponse;

protected const BASE_URL = "https://www.googleapis.com/";
public string $token;
private string $endpoint;
Expand All @@ -23,7 +27,7 @@ public function __construct(
) {
}

public function getAccessToken($code = ""): void
public function getAccessToken(string $code): void
{
if (!empty($code)) {
$this->endpoint = self::BASE_URL . 'oauth2/v4/token';
Expand All @@ -46,6 +50,7 @@ public function getCalendarTimezone(): array
$this->fields = [];
return $this->fetch("GET", 'Error : Failed to get calendar timezone');
}
$this->missingToken();
}

public function getCalendarsList(): array
Expand All @@ -59,6 +64,7 @@ public function getCalendarsList(): array
$this->fields = [];
return $this->fetch("GET", 'Error : Failed to get calendars list');
}
$this->missingToken();
}

public function getCalendarById(string $calendar_id): array
Expand All @@ -70,7 +76,7 @@ public function getCalendarById(string $calendar_id): array
$this->fields = [];
return $this->fetch("GET", 'Error : Failed to get calendars list');
}
return ['message' => "Get Google Calendar token before add an event"];
$this->missingToken();
}

public function createEvent(array $event, string $calendar_id = ''): array
Expand All @@ -92,20 +98,19 @@ public function createEvent(array $event, string $calendar_id = ''): array
}
return ['message' => "Missing event data body"];
}
return ['message' => "Get Google Calendar token before add an event"];
$this->missingToken();
}

public function getEvent(string $event_id, string $calendar_id = ''): array
{
if (!empty($this->token)) {
$this->calendar_id = !empty($calendar_id) ? $calendar_id : $this->calendar_id;
$this->endpoint = self::BASE_URL . "calendar/v3/calendars/{$this->calendar_id}/events/{$event_id}";

$this->header = array('Authorization: Bearer ' . $this->token);
$this->fields = [];
return $this->fetch("GET", 'Error : Failed to get event');
}
return ['message' => "Get Google Calendar token before add an event"];
$this->missingToken();
}

public function updateEvent(string $event_id, array $event, string $calendar_id = ''): array
Expand All @@ -118,7 +123,6 @@ public function updateEvent(string $event_id, array $event, string $calendar_id
$this->endpoint = self::BASE_URL .
"calendar/v3/calendars/{$this->calendar_id}/events/{$event_id}?" .
http_build_query($params);

$this->header = array('Authorization: Bearer ' . $this->token);
$this->fields = $event;

Expand All @@ -127,7 +131,7 @@ public function updateEvent(string $event_id, array $event, string $calendar_id
}
return ['message' => "Missing event data body"];
}
return ['message' => "Get Google Calendar token before add an event"];
$this->missingToken();
}

public function cancelEvent(string $event_id, $calendar_id = ''): array
Expand All @@ -143,7 +147,7 @@ public function cancelEvent(string $event_id, $calendar_id = ''): array
$this->fields = [];
return $this->fetch("DELETE", 'Error : Failed to cancel event');
}
return ['message' => "Get Google Calendar token before add an event"];
$this->missingToken();
}

public static function eventData(
Expand Down
23 changes: 23 additions & 0 deletions src/Traits/AuthErrorResponse.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php

namespace FBIZI\Traits;

/**
* Auth Error Response
*
* @author Francisco Bizi <dev@dev.com>
*/
trait AuthErrorResponse
{
protected function missingToken(string $message = "")
{
$message = !empty($message) ? $message : "Missing token. Get token before procceed to this action.";
return ['code' => 401, 'message' => $message];
}

protected function unauthorized(string $message = "")
{
$message = !empty($message) ? $message : "Don't have permission to access it.";
return ['code' => 403, 'message' => $message];
}
}

0 comments on commit ae266e0

Please sign in to comment.