<?php
ini_set('display_errors', 1);
// this file is used to create all other users except superadmin
require_once '../../../resources/base_path_include.php';
require_once $base_path_to_learning_resources  . "includes/connect.php";
require_once $base_path_to_learning_resources . 'lib/function.php';
require_once $base_path_to_learning_resources . 'lib/validate_api_signature.php';
//valdation file
require_once $base_path_to_learning_resources . 'lib/validate_function.php';
require_once $base_path_to_learning . 'user_management/authenticate.php';
require_once $base_path_to_learning_resources .'external_requests/finware_curl/curl_get_finware_data.php';
require_once $base_path_to_learning_resources . 'external_requests/finware_curl/groups_ledgers/curl_function_branch_students.php';
//db access function
require_once $base_path_to_learning_resources . 'includes/specific_db_config.php';

$postdata = json_decode(file_get_contents("php://input"), true);
checkIfNoPhpContentsReceive();

if (!isset($postdata['api_signature']) or !checkIfIssetAndNotEmpty($postdata['api_signature']) or
    !isset($postdata['function_type']) or !checkIfIssetAndNotEmpty($postdata['function_type'])  or 
    !isset($postdata['jwt_token']) or  !checkIfIssetAndNotEmpty($postdata['jwt_token'])
) {
    errorreturn("All * fields are required.");
}

validateApiSignature($postdata['api_signature']);

$jwttoken = $postdata['jwt_token'];
$jwt_validate = authenticate_jwt($jwttoken);
//then workspace_id is iin decodede data of jwt use from there
$userid = $jwt_validate->data->id;
$workspace_id = $jwt_validate->data->workspace_id;
$created_by = $jwt_validate->data->role;

$specific_db_name = validateUserAccess($conn_rjllearning, $userid, $created_by, $workspace_id, null);
if (!$specific_db_name) {
    errorreturn('Access denied.');
} else {
    $conn_rjllearning_specific = dynamicDbConnection($specific_db_name);
}

if ($postdata['function_type'] == "get_finware_data") {
        
   
     $institution_id = ($postdata['institution_id']);
     $branch_id = ($postdata['branch_id']);
     $branch_finware_ids = getBranchDetails($conn_rjllearning_specific, $branch_id, $institution_id);
     $branch_data = array('workspace_id'=> $workspace_id,"finware_data"=>$branch_finware_ids);
    //  print_r($book_info);die();
     $success['data'] = curlGetFinwareData($branch_data);
     successreturn($success);
    
}