# =================================================================
#
# Authors: Tom Kralidis <tomkralidis@gmail.com>
#          Francesco Bartoli <xbartolone@gmail.com>
#
# Copyright (c) 2020 Tom Kralidis
# Copyright (c) 2023 Francesco Bartoli
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation
# files (the "Software"), to deal in the Software without
# restriction, including without limitation the rights to use,
# copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following
# conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
# =================================================================

server:
    bind:
        host: 0.0.0.0
        port: 5000
    url: http://localhost:5000
    mimetype: application/json; charset=UTF-8
    encoding: utf-8
    gzip: false
    languages:
        # First language is the default language
        - en-US
        - fr-CA
    # cors: true
    pretty_print: true
    limit: 100
    # templates:
      # path: /path/to/Jinja2/templates
      # static: /path/to/static/folder # css/js/img
    map:
        url: https://tile.openstreetmap.org/{z}/{x}/{y}.png
        attribution: '&copy; <a href="https://openstreetmap.org/copyright">OpenStreetMap contributors</a>'
#    manager:
#        name: TinyDB
#        connection: /tmp/pygeoapi-process-manager.db
#        output_dir: /tmp/
    # ogc_schemas_location: /opt/schemas.opengis.net

logging:
    level: DEBUG
    #logfile: /tmp/pygeoapi.log

metadata:
    identification:
        title:
            en: pygeoapi default instance
            fr: instance par défaut de pygeoapi
        description:
            en: pygeoapi provides an API to geospatial data
            fr: pygeoapi fournit une API aux données géospatiales
        keywords:
            en:
                - geospatial
                - data
                - api
            fr:
                - géospatiale
                - données
                - api
        keywords_type: theme
        terms_of_service: https://creativecommons.org/licenses/by/4.0/
        url: https://example.org
    license:
        name: CC-BY 4.0 license
        url: https://creativecommons.org/licenses/by/4.0/
    provider:
        name: Organization Name
        url: https://pygeoapi.io
    contact:
        name: Lastname, Firstname
        position: Position Title
        address: Mailing Address
        city: City
        stateorprovince: Administrative Area
        postalcode: Zip or Postal Code
        country: Country
        phone: +xx-xxx-xxx-xxxx
        fax: +xx-xxx-xxx-xxxx
        email: you@example.org
        url: Contact URL
        hours: Mo-Fr 08:00-17:00
        instructions: During hours of service. Off on weekends.
        role: pointOfContact

resources:
    # Configuration for local Docker PostgreSQL data.  See providers/postgresql.py for
    # instructions on running and populating the database.
    hot_osm_waterways:
        type: collection
        title: OSM waterways
        description: Waterways demo data
        keywords:
            - OSM
            - waterways
        links:
            - type: text/html
              rel: canonical
              title: Source instructions for loading data
              href: https://github.com/geopython/pygeoapi/blob/master/pygeoapi/provider/postgresql.py
              hreflang: en-UK
        extents:
            spatial:
                bbox: [-180, -90, 180, 90]
                crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
            temporal:
                begin: null
                end: null  # or empty (either means open ended)
        providers:
          - type: feature
            name: PostgreSQL
            data:
                host: localhost
                dbname: test
                user: postgres
                password: postgres
                search_path: [osm, public]
            options:
                # Maximum time to wait while connecting, in seconds.
                connect_timeout: 10
                # Number of *milliseconds* that transmitted data may remain
                # unacknowledged before a connection is forcibly closed.
                tcp_user_timeout: 10000
                # Whether client-side TCP keepalives are used. 1 = use keepalives,
                # 0 = don't use keepalives.
                keepalives: 1
                # Number of seconds of inactivity after which TCP should send a
                # keepalive message to the server.
                keepalives_idle: 5
                # Number of TCP keepalives that can be lost before the client's
                # connection to the server is considered dead.
                keepalives_count: 5
                # Number of seconds after which a TCP keepalive message that is not
                # acknowledged by the server should be retransmitted.
                keepalives_interval: 1
            id_field: osm_id
            table: hotosm_bdi_waterways
            geom_field: foo_geom
            crs:
              - http://www.opengis.net/def/crs/EPSG/0/4326
              - http://www.opengis.net/def/crs/EPSG/0/32735
              - http://www.opengis.net/def/crs/EPSG/0/32736
            storage_crs: http://www.opengis.net/def/crs/EPSG/0/4326

    dummy_naming_conflicts:
        type: collection
        title: Dummy data
        description: Dummy data creating naming conflicts
        keywords:
            - dummy
        links:
            - type: text/html
              rel: canonical
              title: Source instructions for loading data
              href: https://github.com/geopython/pygeoapi/blob/master/pygeoapi/provider/postgresql.py
              hreflang: en-UK
        extents:
            spatial:
                bbox: [-180, -90, 180, 90]
                crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
            temporal:
                begin: null
                end: null  # or empty (either means open ended)
        providers:
          - type: feature
            name: PostgreSQL
            data:
                host: localhost
                dbname: test
                user: postgres
                password: postgres
                search_path: [dummy]
            id_field: id
            table: naming_conflicts_table
            geom_field: point_geom
