Skip to content
Snippets Groups Projects
Commit 6e032dde authored by stckvrflw's avatar stckvrflw
Browse files

feat: soap service mvc barebone

parent 76285062
No related merge requests found
...@@ -13,6 +13,7 @@ use app\controllers\ReviewController; ...@@ -13,6 +13,7 @@ use app\controllers\ReviewController;
use app\controllers\RegisterController; use app\controllers\RegisterController;
use app\controllers\UpdateFilmController; use app\controllers\UpdateFilmController;
use app\controllers\UserDashboardController; use app\controllers\UserDashboardController;
use app\controllers\SoapPremiumController;
use app\repositories\UserRepository; use app\repositories\UserRepository;
use app\repositories\ReviewRepository; use app\repositories\ReviewRepository;
use app\services\UserService; use app\services\UserService;
...@@ -49,5 +50,6 @@ class App ...@@ -49,5 +50,6 @@ class App
$this->router->addRoute('/my-favorites', ProfileController::class); $this->router->addRoute('/my-favorites', ProfileController::class);
$this->router->addRoute('/my-reviews', ProfileController::class); $this->router->addRoute('/my-reviews', ProfileController::class);
$this->router->addRoute('/user-dashboard', UserDashboardController::class); $this->router->addRoute('/user-dashboard', UserDashboardController::class);
$this->router->addRoute('/premium-status', SoapPremiumController::class);
} }
} }
<?php
namespace app\controllers;
use app\base\BaseController;
use app\controllers\utils\response;
use app\Request;
use app\models\SoapPremiumModel;
use Exception;
class SoapPremiumController extends BaseController {
public $model;
// public $soap_client;
public function __construct() {
$this->model = SoapPremiumModel::getInstance();
// $this->soap_client = $this->model->getSoapClient();
}
public function checkStatus($params){
return $this->model->checkStatus($params);
}
protected function get($urlParams)
{
$uri = Request::getURL();
if($uri == '/premium-status'){
$params = ["userId" => 1];
$result = $this->checkStatus($params);
// response::send_json_response($result->userStatus);
$data['userStatus'] = $result->userStatus;
parent::render($data, 'premium-status', "layouts/base");
}
else{
throw new Exception("Invalid URL");
}
}
protected function post($urlParams)
{
}
}
\ No newline at end of file
<?php
namespace app\models;
use app\base\BaseModel;
class SoapPremiumModel
{
private $soapclient;
private static $instance = null;
public function __construct()
{
$apikey = getenv('api_key');
// Stream context to add HTTP headers
$streamContext = stream_context_create([
'http' => [
'header' => "Authorization: Bearer $apikey",
],
]);
// Options for the SOAP client
$options = [
'stream_context' => $streamContext,
'trace' => 1, // Enable trace to view request and response headers
'cache_wsdl' => WSDL_CACHE_NONE
];
$this->soapclient = new \SoapClient(getenv('soap_url'), $options);
}
public static function getInstance(){
if (self::$instance == null) {
self::$instance = new SoapPremiumModel();
}
return self::$instance;
}
// public function getSoapClient()
// {
// return $this->soapclient;
// }
public function checkStatus($params)
{
return $this->soapclient->checkStatus($params);
}
// public function getFunctions()
// {
// return $this->soapclient->__getFunctions();
// }
// public function getTypes()
// {
// return $this->soapclient->__getTypes();
// }
}
\ No newline at end of file
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
<ul class='nav-links menu'> <ul class='nav-links menu'>
<li class='menu-item' id='home'><a href='/'>Home</a></li> <li class='menu-item' id='home'><a href='/'>Home</a></li>
<li class='menu-item'><a href='/films'>Films</a></li> <li class='menu-item'><a href='/films'>Films</a></li>
<li class='menu-item'><a href='/premium-status'>Premium Status</a></li>
<?php <?php
......
<div class='details'>
<h2 id="goBack"><a class='back-button' href="/films"><?php echo "< Films" ?></a></h2>
<h1>Premium Status<h1>
<?php echo $data["userStatus"]?>
</div>
</div>
\ No newline at end of file
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