$save_user = function (Request $request, Response $response) {
    $parser = new RequestParser($request);
    $data = $parser->getData();
    $user = new User();
    $user->hydrate($data);
    if (!empty($data['password'])) {
        $user->setPassword($data['password']);
    }
    $errors = $user->validateData();
    if (!empty($errors)) {
        $new_response = $response->withStatus(400);
        $r = array("errors" => $errors);
        $new_response->getBody()->write(json_encode($r));
        return $new_response;
    }
    $count = UserRepository::saveUser($user);
    $response->getBody()->write(json_encode($user));
    return $response;
};
$app->post('/user/save', $save_user);
$delete_user = function (Request $request, Response $response) {
    $parser = new RequestParser($request);
    $data = $parser->getData();
    if (empty($data['id'])) {
        $new_response = $response->withStatus(400);
        $new_response->getBody()->write("Must supply user id");
        return $new_response;
    }
    $count = UserRepository::markUserAsDeleted($data['id']);
    if ($count < 1) {
        $new_response = $response->withStatus(404);