Major changes - Ready app for initial testings

This commit is contained in:
Miguel Nogueira 2018-06-07 15:40:52 +00:00
parent 7403097008
commit 29735c60bb
3 changed files with 76 additions and 6 deletions

View File

@ -1,6 +1,25 @@
<?php
require $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php';
$App = new \Slim\App();
$App = new \Slim\App([
"settings" =>
[
"displayErrorDetails" => true
]
]);
$App->post("/api/paddle/{authkey}/hook");
$App->post
(
"/api/paddle/{authkey}/detectIntent",
Hookmanager::class, ':detectPayloadIntent'
);
$App->post
(
"/api/paddle/{authkey}/hook",
Hookmanager::class, ':EventSubscriptionCreatead'
);

0
public/sourcetest.php Normal file
View File

View File

@ -19,6 +19,20 @@ class Hookmanager
private $Mailer;
// Can be overloaded by child classes in order to add new features.W
protected $alertTypes =
[
"subscription_created",
"subscription_updated",
"subscription_cancelled",
"subscription_payment_succeeded",
"subscription_payment_failed",
"subscription_payment_refunded",
"payment_refunded",
]
public function __construct()
{
@ -48,13 +62,50 @@ class Hookmanager
}
public function EventSubscriptionCreated(Request $request, Response $response)
private function keyValidate($keyFromURI)
{
// Create customer with data from Paddle
// Send email with customer information
// FIXME: Theoretically, this method does not work.
// TODO: Devise a new way to validate keys without user ID
if($this->APITools->keysMatch($keyFromURI))
{
return true;
}
else
{
return false;
}
}
public function detectPayloadIntent(Request $request, Response $response, $args)
{
if ($this->keyValidate($keyFromURI))
{
$data = $this->getStructuredVariableList($Request);
foreach ($this->alertTypes as $types => $value)
{
if ($types == $data['alert_name'])
{
$sVal = $value;
}
}
// TODO: Redirect request to approriate route.
// Use translator helper method to translate developer name to readable route name for redirect
}
throw new LogicException("Illegal API key");
}
public function EventSubscriptionCreated(Request $request, Response $response, $args)
{
return $response->write($this->getStructuredVariableList($Request))->withStatus(200);
}