diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 1bc86af6..e63fe383 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -656,6 +656,7 @@ $routes->group("employeeRest", ['filter' => ['appSignature'] ], function ($route $routes->get("hrFileDownload", "EmployeeRestController::hrFileDownload"); $routes->post("hrFileUpload", "EmployeeRestController::hrFileUpload"); $routes->post("updateHrFileUploadData", "EmployeeRestController::updateHrFileUploadData"); + $routes->post("getHrDashboad", "EmployeeRestController::getHrDashboad"); //thz_master's diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index e60cc86a..14c8d1e2 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -5411,6 +5411,48 @@ class EmployeeRestController extends AdminController return view('errors/404', $data); } } + + public function getHrDashboad() + { + // $dashboard_id = $this->request->getGet('dashboard_id') ?? null; + $client_id = $this->request->getPost('client_id') ?? null; + $client_policy_id = $this->request->getPost('client_policy_id') ?? null; + + // 🔐 Move this to .env in real projects + $METABASE_SECRET_KEY = '6a9ec3d833576923ea04078188fe26cad17b5de351ab3ce349dd2c2d07b5d0cd'; + + $payload = [ + 'resource' => [ + // 'dashboard' => 1 + 'dashboard' => 2 + ], + 'params' => (object)['client_policy_id' => $client_policy_id], // MUST be object for Metabase + 'exp' => time() + (10 * 60) // 10 minutes + ]; + + $token = JWT::encode($payload, $METABASE_SECRET_KEY, 'HS256'); + + // // You can either return token only + // return $this->response->setJSON([ + // 'token' => $token, + // 'iframe_url' => "https://your-metabase-domain/embed/dashboard/{$token}#bordered=true&titled=true" + // ]); + if($this->request->getGet('api') == 1) + { + return $this->respond([ + 'status' => 'success', + 'message' => 'Form data received successfully!', + 'data' => [ + 'metabaseToken' => $token, + 'metabaseUrl' => 'https://nsights.nhanceindia.in'] + ]); + } + + return view('meta_dashboard_demo_one', [ + 'metabaseToken' => $token, + 'metabaseUrl' => 'https://nsights.nhanceindia.in', + ]); + } } diff --git a/app/Controllers/TestingController.php b/app/Controllers/TestingController.php index f6769af2..067759bf 100644 --- a/app/Controllers/TestingController.php +++ b/app/Controllers/TestingController.php @@ -993,9 +993,10 @@ class TestingController extends BaseController $payload = [ 'resource' => [ - 'dashboard' => 1 + // 'dashboard' => 1 + 'dashboard' => 2 ], - 'params' => (object)[], // MUST be object for Metabase + 'params' => (object)['client' => 3776], // MUST be object for Metabase 'exp' => time() + (10 * 60) // 10 minutes ];