#
# Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

server:
  port: 8079
  host: 0.0.0.0
  features:
    print-details: true

# docker run --rm --name mongo -p 27017:27017 mongo
db:
  source: "mongoDb"
  connection:
    url: "mongodb://127.0.0.1:27017/pokemon"
  statements:
    # Insert operation contains collection name, operation type and data to be inserted.
    # Name variable is stored as MongoDB primary key attribute _id
    insert2: '{
            "collection": "pokemons",
            "value": {
                "_id": $name,
                "type": $type
            }
        }'
    select-all: '{
            "collection": "pokemons",
            "query": {}
        }'
    select-one: '{
            "collection": "pokemons",
            "query": {
              "_id": ?
            }
        }'
    delete-all: '{
            "collection": "pokemons",
            "operation": "delete"
        }'
    update: '{
            "collection": "pokemons",
            "query": {
                "_id": $name
            },
            "value": {
                $set: { "type": $type }
            }
        }'
    delete: '{
            "collection": "pokemons",
            "query": {
                "_id": ?
            }
        }'
        
