FIX_ISSUE

This commit is contained in:
VENKATESHWARAN 2026-02-24 15:29:30 +05:30
parent cfddad8485
commit 6a1e3519d2

View File

@ -5501,9 +5501,15 @@ class EmployeeRestController extends AdminController
// 🔐 Move this to .env in real projects // 🔐 Move this to .env in real projects
$METABASE_SECRET_KEY = getenv('METABASE_SECRET_KEY'); $METABASE_SECRET_KEY = getenv('METABASE_SECRET_KEY');
$is_tpa_dashboard_enable = $this->clientPolicyModel
->select('tpa.dashboard_id')
->join('tpa', 'client_policy.tpa_id = tpa.id')
->where('client_policy.id', $received_data['client_policy_id'])
->where('tpa.dashboard_id IS NOT NULL')
->first();
$payload = [ $payload = [
'resource' => [ 'resource' => [
// 'dashboard' => 1
'dashboard' => 2 'dashboard' => 2
], ],
'params' => (object)['client_policy' => $received_data['client_policy_id']], // MUST be object for Metabase 'params' => (object)['client_policy' => $received_data['client_policy_id']], // MUST be object for Metabase
@ -5524,7 +5530,9 @@ class EmployeeRestController extends AdminController
'message' => 'Form data received successfully!', 'message' => 'Form data received successfully!',
'data' => [ 'data' => [
'metabaseToken' => $token, 'metabaseToken' => $token,
'metabaseUrl' => 'https://nsights.nhanceindia.in'] 'metabaseUrl' => 'https://nsights.nhanceindia.in'
],
'is_tpa_dashboard_enable' => !empty($is_tpa_dashboard_enable ?? []),
]); ]);
// } // }
@ -5534,12 +5542,27 @@ class EmployeeRestController extends AdminController
]); ]);
} }
public function getHrTpaDashboard() public function getHrTpaDashboard($client_policy_id = null, $return_type = 'api')
{ {
$METABASE_SECRET_KEY = getenv('METABASE_SECRET_KEY'); $METABASE_SECRET_KEY = getenv('METABASE_SECRET_KEY');
$received_data = $this->request->getJSON(true) ?? null;
$policy_id = $received_data['client_policy_id'] ?? 4687; if ($return_type === 'api') {
$received_data = $this->request->getJSON(true) ?? [];
$policy_id = $received_data['client_policy_id'] ?? null;
} else {
// Internal call
$policy_id = $client_policy_id;
}
if (empty($policy_id)) {
return $this->respond([
'status' => 'failed',
'message' => 'Client Policy ID is required.',
'data' => []
]);
}
$client_policy_data = $this->clientPolicyModel $client_policy_data = $this->clientPolicyModel
->select('tpa.dashboard_id') ->select('tpa.dashboard_id')
@ -5561,15 +5584,24 @@ class EmployeeRestController extends AdminController
'resource' => [ 'resource' => [
'dashboard' => $database_id 'dashboard' => $database_id
], ],
'exp' => time() + (10 * 60), // 10 minutes 'exp' => time() + (10 * 60),
'params' => (object)[] 'params' => (object)[]
]; ];
$token = JWT::encode($payload, $METABASE_SECRET_KEY, 'HS256'); $token = JWT::encode($payload, $METABASE_SECRET_KEY, 'HS256');
if ($return_type === 'internal') {
// Return raw data for internal usage
return [
'metabaseToken' => $token,
'metabaseUrl' => 'https://nsights.nhanceindia.in'
];
}
return $this->respond([ return $this->respond([
'status' => 'success', 'status' => 'success',
'message' => 'Form data received successfully!', 'message' => 'Dashboard fetched successfully.',
'data' => [ 'data' => [
'metabaseToken' => $token, 'metabaseToken' => $token,
'metabaseUrl' => 'https://nsights.nhanceindia.in' 'metabaseUrl' => 'https://nsights.nhanceindia.in'