use Syndicate\Entities\Session;
use Syndicate\Entities\Privilege;
use Syndicate\Repositories\TimezoneRepository;
$save_timezone = function (Request $request, Response $response) {
    $parser = new RequestParser($request);
    $data = $parser->getData();
    $timezone = new Timezone();
    $timezone->hydrate($data);
    $errors = $timezone->validateData();
    if (!empty($errors)) {
        $new_response = $response->withStatus(400);
        $r = array("errors" => $errors);
        $new_response->getBody()->write(json_encode($r));
        return $new_response;
    }
    TimezoneRepository::saveTimezone($timezone);
    $response->getBody()->write(json_encode($timezone));
    return $response;
};
$app->post("/timezone/save", $save_timezone);
$get_timezones = function (Request $request, Response $response) {
    $session = Session::getAuthenicatedSession();
    $parser = new RequestParser($request);
    $data = $parser->getData();
    $user_id = $session->getUser()->getId();
    if (!empty($data['user_id'])) {
        $user_id = $data['user_id'];
    }
    /*
        if( $session->getUser()->hasPrivilege( Privilege::MANAGE_ALL_TIMEZONES ) )
        {