def process_intersects_filter(dsl_query, geometry: dict):
    """
    Extends received query to include intersect filter with provided
    geometry

    :param dsl_query: ES DSL object
    :param geometry dict: geometry as GeoJSON
    :rtype: ES DSL object
    :return: DSL extended with query parameters
    """

    dsl_query = dsl_query.filter(
        "geo_shape",
        geometry={
            "shape": {
                "type": geometry["geometry"]["type"],
                "coordinates": geometry["geometry"]["coordinates"],
            },
            "relation": "intersects",
        },
    )
    return dsl_query