function delete_topic($topic_id, $request)
{
    $msg = new Messages($GLOBALS['locale']);
    Authenticator::assert_manager_or_professor($request->cookies['authToken']);
    try {
        $model = new Model();
        $result = $model->delete_topic($topic_id);
        if ($result) {
            http_response_code(204);
            die;
        } else {
            Util::output_errors_and_die('', 404);
        }
    } catch (ConflictException $e) {
        Util::output_errors_and_die('', 409);
    } catch (DatabaseException $e) {
        Util::output_errors_and_die($e->getMessage(), 503);
    } catch (Exception $e) {
        Util::output_errors_and_die($e->getMessage(), 400);
    }
}