<?php

function runEndpoint($endpoint_file): ?array
{

    $endpoint_data = $_POST;
    require_once $endpoint_file;

    return endpoint($endpoint_data);
}


function getEndpoint($endpoint_name): string
{
    $output = array();
    $output["Status"] = "Fail";
    global $routerConfig;
    global $routerRequest;

    if(!$endpoint_name){
        $endpoint_name = $routerRequest["page_name"];
    }

    if($routerRequest["isToApex"]){
        $subdomain_part = "";
    }
    else{
        $subdomain_part = $routerRequest["subdomain"] . "/";
    }

    $endpoint_file = $routerConfig["endpoint_dir"] . $subdomain_part . $endpoint_name . ".php";

    $endpoint_file_global = $routerConfig["endpoint_dir"] . "global/" . $endpoint_name . ".php";

    if (file_exists($endpoint_file_global)){
        $output = runEndpoint($endpoint_file_global);
    }
    elseif (file_exists($endpoint_file)){
        $output = runEndpoint($endpoint_file);
    }
    else{
        $output["error"] = "Not found";
        http_response_code(404);
    }

    return json_encode($output);
}