define({ "api": [
  {
    "type": "post",
    "url": "/auth/login",
    "title": "Authenticate User",
    "version": "1.0.0",
    "name": "AuthUser",
    "group": "Authentication",
    "description": "<p>Authenticate a user and return the token if the provided credentials are correct.</p>",
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": "<p>Email of user</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": "<p>Password of user</p>"
          }
        ]
      }
    },
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "token",
            "description": "<p>JWT token.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 200 OK\n{\n  \"token\": \"eyJ0eXAiO.iJKV1QiLCJhb.GciOiJIUzI1NiJ9\"\n}",
          "type": "json"
        }
      ]
    },
    "error": {
      "fields": {
        "Error 4xx": [
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "WrongEmailOrPassword",
            "description": "<p>Email or password is wrong.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "NonExistingEmail",
            "description": "<p>Email does not exist.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "WrongEmailOrPassword response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"Email or password is wrong.\"\n}",
          "type": "json"
        },
        {
          "title": "NonExistingEmail response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"Email does not exist.\"\n}",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/AuthController.php",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/markers",
    "title": "Create New Marker",
    "version": "1.0.0",
    "name": "CreateNewMarker",
    "group": "Marker",
    "permission": [
      {
        "name": "authenticated"
      }
    ],
    "description": "<p>Request params must be sent as <strong>form-data</strong>.</p>",
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "String",
            "size": "..50",
            "optional": false,
            "field": "title",
            "description": "<p>Title (name) of a marker</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "allowedValues": [
              "'kultovni_objekt'",
              "'kostel'",
              "'ropik'",
              "'vyrobni_objekt'",
              "'dum'",
              "'studna'"
            ],
            "optional": false,
            "field": "type",
            "description": "<p>Type of a marker.</p>"
          },
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "latitude",
            "description": "<p>Markers latitude.</p>"
          },
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "longitude",
            "description": "<p>Markers longitude.</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "size": "..254",
            "optional": false,
            "field": "description",
            "description": "<p>Markers description.</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "size": "..254",
            "optional": false,
            "field": "bibliography",
            "description": "<p>Used bibliography resources.</p>"
          }
        ]
      }
    },
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>ID of a marker.</p>"
          },
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "latitude",
            "description": "<p>Markers latitude.</p>"
          },
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "longitude",
            "description": "<p>Markers longitude.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": "<p>Type of a marker.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "title",
            "description": "<p>Title (name) of a marker</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "description",
            "description": "<p>Markers description.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "bibliography",
            "description": "<p>Used bibliography resources.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 200 OK\n{\n  \"id\": 8,\n  \"latitude\": 48.724896,\n  \"longitude\": 16.8958079,\n  \"type\": \"studna\",\n  \"title\": \"Studna s kamenným vyzděním\",\n  \"description\": \"Studna (objekt 358) měla kruhový půdorys (185 x 210 cm), nálevkovitý tvar. Uvnitř byly nalezeny ploché kameny a části žernovů. Pod nimi začínalo čtvercové kamenné vyzdění studny, které bez přerušení pokračovalo ke dnu.\",\n  \"bibliography\": \"Humlová, B. 2006: Archeologický výzkum raně středověkých studní – metody, analýzy a výstupy. Brno: Masarykova Univerzita. Rukopis bakalárskej diplomovej práce.\"\n}",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/MarkerController.php",
    "groupTitle": "Marker",
    "header": {
      "fields": {
        "": [
          {
            "group": "Header",
            "type": "String",
            "optional": false,
            "field": "Authorization",
            "description": "<p>Bearer + token</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Authorization header example",
          "content": "Authorization: Bearer eyJ0eXAiO.iJKV1QiLCJhb.GciOiJIUzI1NiJ9",
          "type": "json"
        }
      ]
    },
    "error": {
      "fields": {
        "Error 4xx": [
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "TokenNotProvided",
            "description": "<p>Token not provided.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "ExpiredToken",
            "description": "<p>Provided token is expired.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "DecodingError",
            "description": "<p>An error while decoding token.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "TokenNotProvided response:",
          "content": "HTTP/1.1 401 Unauthorized\n{\n  \"error\": \"Token not provided.\"\n}",
          "type": "json"
        },
        {
          "title": "ExpiredToken response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"Provided token is expired.\"\n}",
          "type": "json"
        },
        {
          "title": "DecodingError response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"An error while decoding token.\"\n}",
          "type": "json"
        }
      ]
    }
  },
  {
    "type": "delete",
    "url": "/markers/:id",
    "title": "Delete Marker",
    "version": "1.0.0",
    "name": "DeleteMarker",
    "group": "Marker",
    "permission": [
      {
        "name": "authenticated"
      }
    ],
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>Markers unique ID.</p>"
          }
        ]
      }
    },
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "success",
            "description": "<p>Success message.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 202 OK\n{\n  \"success\": \"Marker was successfully deleted.\"\n}",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/MarkerController.php",
    "groupTitle": "Marker",
    "header": {
      "fields": {
        "": [
          {
            "group": "Header",
            "type": "String",
            "optional": false,
            "field": "Authorization",
            "description": "<p>Bearer + token</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Authorization header example",
          "content": "Authorization: Bearer eyJ0eXAiO.iJKV1QiLCJhb.GciOiJIUzI1NiJ9",
          "type": "json"
        }
      ]
    },
    "error": {
      "fields": {
        "Error 4xx": [
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "TokenNotProvided",
            "description": "<p>Token not provided.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "ExpiredToken",
            "description": "<p>Provided token is expired.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "DecodingError",
            "description": "<p>An error while decoding token.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "TokenNotProvided response:",
          "content": "HTTP/1.1 401 Unauthorized\n{\n  \"error\": \"Token not provided.\"\n}",
          "type": "json"
        },
        {
          "title": "ExpiredToken response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"Provided token is expired.\"\n}",
          "type": "json"
        },
        {
          "title": "DecodingError response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"An error while decoding token.\"\n}",
          "type": "json"
        }
      ]
    }
  },
  {
    "type": "get",
    "url": "/markers",
    "title": "Get All Markers",
    "version": "1.0.0",
    "name": "GetAllMarkers",
    "group": "Marker",
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>ID of a marker.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "title",
            "description": "<p>Title (name) of a marker.</p>"
          },
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "latitude",
            "description": "<p>Markers latitude.</p>"
          },
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "longitude",
            "description": "<p>Markers longitude.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": "<p>Type of a marker.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 200 OK\n[\n    {\n      \"id\": 1,\n      \"title\": \"Kultiště\",\n      \"latitude\": 48.7289231,\n      \"longitude\": 16.8966377,\n      \"type\": \"kultovni_objekt\"\n    },\n    {\n      \"id\": 2,\n      \"title\": \"Hrob koně\",\n      \"latitude\": 48.7289903,\n      \"longitude\": 16.8965294,\n      \"type\": \"kultovni_objekt\"\n    }\n]",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/MarkerController.php",
    "groupTitle": "Marker"
  },
  {
    "type": "get",
    "url": "/markers/:id",
    "title": "Get Markers Details",
    "version": "1.0.0",
    "name": "GetMarkerDetails",
    "group": "Marker",
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>Markers unique ID.</p>"
          }
        ]
      }
    },
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>ID of a marker.</p>"
          },
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "latitude",
            "description": "<p>Markers latitude.</p>"
          },
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "longitude",
            "description": "<p>Markers longitude.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": "<p>Type of a marker.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "title",
            "description": "<p>Title (name) of a marker</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "description",
            "description": "<p>Markers description.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "bibliography",
            "description": "<p>Used bibliography resources.</p>"
          },
          {
            "group": "Success 200",
            "type": "Array",
            "optional": false,
            "field": "photos",
            "description": "<p>Array of photos attached to marker.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 200 OK\n{\n  \"id\": 8,\n  \"latitude\": 48.724896,\n  \"longitude\": 16.8958079,\n  \"type\": \"studna\",\n  \"title\": \"Studna s kamenným vyzděním\",\n  \"description\": \"Studna (objekt 358) měla kruhový půdorys (185 x 210 cm), nálevkovitý tvar. Uvnitř byly nalezeny ploché kameny a části žernovů. Pod nimi začínalo čtvercové kamenné vyzdění studny, které bez přerušení pokračovalo ke dnu.\",\n  \"bibliography\": \"Humlová, B. 2006: Archeologický výzkum raně středověkých studní – metody, analýzy a výstupy. Brno: Masarykova Univerzita. Rukopis bakalárskej diplomovej práce.\",\n  \"photos\": [\n    {\n      \"id\": 1,\n      \"marker_id\": 8,\n      \"src\": \"Studna_JP_358.jpg\",\n      \"thumbnail\": \"Studna_JP_358.jpg\"\n    }\n  ]\n}",
          "type": "json"
        }
      ]
    },
    "error": {
      "fields": {
        "Error 4xx": [
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "MarkerNotFound",
            "description": "<p>Marker with provided id doesn't exists!</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Error Response:",
          "content": "HTTP/1.1 404 Not Found\n{\n  \"error\": \"MarkerNotFound\"\n}",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/MarkerController.php",
    "groupTitle": "Marker"
  },
  {
    "type": "post",
    "url": "/markers/search",
    "title": "Search Markers",
    "version": "1.0.0",
    "name": "SearchMarkers",
    "group": "Marker",
    "description": "<p>Search for markers in database.</p>",
    "header": {
      "fields": {
        "": [
          {
            "group": "Header",
            "type": "String",
            "optional": false,
            "field": "Accept",
            "description": "<p>application/json</p>"
          },
          {
            "group": "Header",
            "type": "String",
            "optional": false,
            "field": "Content-Type",
            "description": "<p>application/json</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Search header example",
          "content": "Accept: 'application/json',\nContent-Type: 'application/json'",
          "type": "json"
        }
      ]
    },
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "String",
            "optional": false,
            "field": "query",
            "description": "<p>Search query</p>"
          }
        ]
      }
    },
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>ID of a marker.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "title",
            "description": "<p>Title (name) of a marker.</p>"
          },
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "latitude",
            "description": "<p>Markers latitude.</p>"
          },
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "longitude",
            "description": "<p>Markers longitude.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": "<p>Type of a marker.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 200 OK\n[\n    {\n      \"id\": 1,\n      \"title\": \"Kultiště\",\n      \"latitude\": 48.7289231,\n      \"longitude\": 16.8966377,\n      \"type\": \"kultovni_objekt\"\n    },\n    {\n      \"id\": 2,\n      \"title\": \"Hrob koně\",\n      \"latitude\": 48.7289903,\n      \"longitude\": 16.8965294,\n      \"type\": \"kultovni_objekt\"\n    }\n]",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/MarkerController.php",
    "groupTitle": "Marker"
  },
  {
    "type": "post",
    "url": "/markers/:id",
    "title": "Update Marker",
    "version": "1.0.0",
    "name": "UpdateMarker",
    "group": "Marker",
    "permission": [
      {
        "name": "authenticated"
      }
    ],
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>Markers unique ID.</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "size": "..50",
            "optional": false,
            "field": "title",
            "description": "<p>Title (name) of a marker</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "allowedValues": [
              "'kultovni_objekt'",
              "'kostel'",
              "'ropik'",
              "'vyrobni_objekt'",
              "'dum'",
              "'studna'"
            ],
            "optional": false,
            "field": "type",
            "description": "<p>Type of a marker.</p>"
          },
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "latitude",
            "description": "<p>Markers latitude.</p>"
          },
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "longitude",
            "description": "<p>Markers longitude.</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "size": "..254",
            "optional": false,
            "field": "description",
            "description": "<p>Markers description.</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "size": "..254",
            "optional": false,
            "field": "bibliography",
            "description": "<p>Used bibliography resources.</p>"
          }
        ]
      }
    },
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>ID of a marker.</p>"
          },
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "latitude",
            "description": "<p>Markers latitude.</p>"
          },
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "longitude",
            "description": "<p>Markers longitude.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": "<p>Type of a marker.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "title",
            "description": "<p>Title (name) of a marker</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "description",
            "description": "<p>Markers description.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "bibliography",
            "description": "<p>Used bibliography resources.</p>"
          },
          {
            "group": "Success 200",
            "type": "Array",
            "optional": false,
            "field": "photos",
            "description": "<p>Array of photos attached to marker.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 200 OK\n{\n  \"id\": 8,\n  \"latitude\": 48.724896,\n  \"longitude\": 16.8958079,\n  \"type\": \"studna\",\n  \"title\": \"Studna s kamenným vyzděním\",\n  \"description\": \"Studna (objekt 358) měla kruhový půdorys (185 x 210 cm), nálevkovitý tvar. Uvnitř byly nalezeny ploché kameny a části žernovů. Pod nimi začínalo čtvercové kamenné vyzdění studny, které bez přerušení pokračovalo ke dnu.\",\n  \"bibliography\": \"Humlová, B. 2006: Archeologický výzkum raně středověkých studní – metody, analýzy a výstupy. Brno: Masarykova Univerzita. Rukopis bakalárskej diplomovej práce.\",\n  \"photos\": [\n     {\n      \"id\": 1,\n      \"marker_id\": 8,\n      \"src\": \"Studna_JP_358.jpg\",\n      \"thumbnail\": \"Studna_JP_358.jpg\"\n    }\n  ]\n}",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/MarkerController.php",
    "groupTitle": "Marker",
    "header": {
      "fields": {
        "": [
          {
            "group": "Header",
            "type": "String",
            "optional": false,
            "field": "Authorization",
            "description": "<p>Bearer + token</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Authorization header example",
          "content": "Authorization: Bearer eyJ0eXAiO.iJKV1QiLCJhb.GciOiJIUzI1NiJ9",
          "type": "json"
        }
      ]
    },
    "error": {
      "fields": {
        "Error 4xx": [
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "TokenNotProvided",
            "description": "<p>Token not provided.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "ExpiredToken",
            "description": "<p>Provided token is expired.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "DecodingError",
            "description": "<p>An error while decoding token.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "TokenNotProvided response:",
          "content": "HTTP/1.1 401 Unauthorized\n{\n  \"error\": \"Token not provided.\"\n}",
          "type": "json"
        },
        {
          "title": "ExpiredToken response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"Provided token is expired.\"\n}",
          "type": "json"
        },
        {
          "title": "DecodingError response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"An error while decoding token.\"\n}",
          "type": "json"
        }
      ]
    }
  },
  {
    "type": "post",
    "url": "/photos",
    "title": "Create New Photo",
    "version": "1.0.0",
    "name": "CreateNewPhoto",
    "group": "Photo",
    "permission": [
      {
        "name": "authenticated"
      }
    ],
    "description": "<p>Request params must be sent as <strong>form-data</strong>.</p>",
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "String",
            "size": "..50",
            "optional": false,
            "field": "marker_id",
            "description": "<p>ID of a marker which photo belong to.</p>"
          },
          {
            "group": "Parameter",
            "type": "Array",
            "optional": false,
            "field": "photos",
            "description": "<p>Array of files (photos).</p>"
          }
        ]
      }
    },
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "success",
            "description": "<p>Success message.</p>"
          },
          {
            "group": "Success 200",
            "type": "Array",
            "optional": false,
            "field": "photos",
            "description": "<p>Array of photos attached to marker.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 200 OK\n{\n  \"success\": \"Upload was successfull.\",\n  \"photos\": [\n    {\n      \"id\": 1,\n      \"marker_id\": 8,\n      \"src\": \"Studna_JP_358.jpg\",\n      \"thumbnail\": \"Studna_JP_358.jpg\"\n    }\n  ]\n}",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/PhotosController.php",
    "groupTitle": "Photo",
    "header": {
      "fields": {
        "": [
          {
            "group": "Header",
            "type": "String",
            "optional": false,
            "field": "Authorization",
            "description": "<p>Bearer + token</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Authorization header example",
          "content": "Authorization: Bearer eyJ0eXAiO.iJKV1QiLCJhb.GciOiJIUzI1NiJ9",
          "type": "json"
        }
      ]
    },
    "error": {
      "fields": {
        "Error 4xx": [
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "TokenNotProvided",
            "description": "<p>Token not provided.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "ExpiredToken",
            "description": "<p>Provided token is expired.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "DecodingError",
            "description": "<p>An error while decoding token.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "TokenNotProvided response:",
          "content": "HTTP/1.1 401 Unauthorized\n{\n  \"error\": \"Token not provided.\"\n}",
          "type": "json"
        },
        {
          "title": "ExpiredToken response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"Provided token is expired.\"\n}",
          "type": "json"
        },
        {
          "title": "DecodingError response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"An error while decoding token.\"\n}",
          "type": "json"
        }
      ]
    }
  },
  {
    "type": "delete",
    "url": "/photos/:id",
    "title": "Delete Photo",
    "version": "1.0.0",
    "name": "DeletePhoto",
    "group": "Photo",
    "permission": [
      {
        "name": "authenticated"
      }
    ],
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>Photos unique ID.</p>"
          }
        ]
      }
    },
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "success",
            "description": "<p>Success message.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 202 OK\n{\n  \"success\": \"Photo was successfully deleted.\"\n}",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/PhotosController.php",
    "groupTitle": "Photo",
    "header": {
      "fields": {
        "": [
          {
            "group": "Header",
            "type": "String",
            "optional": false,
            "field": "Authorization",
            "description": "<p>Bearer + token</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Authorization header example",
          "content": "Authorization: Bearer eyJ0eXAiO.iJKV1QiLCJhb.GciOiJIUzI1NiJ9",
          "type": "json"
        }
      ]
    },
    "error": {
      "fields": {
        "Error 4xx": [
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "TokenNotProvided",
            "description": "<p>Token not provided.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "ExpiredToken",
            "description": "<p>Provided token is expired.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "DecodingError",
            "description": "<p>An error while decoding token.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "TokenNotProvided response:",
          "content": "HTTP/1.1 401 Unauthorized\n{\n  \"error\": \"Token not provided.\"\n}",
          "type": "json"
        },
        {
          "title": "ExpiredToken response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"Provided token is expired.\"\n}",
          "type": "json"
        },
        {
          "title": "DecodingError response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"An error while decoding token.\"\n}",
          "type": "json"
        }
      ]
    }
  },
  {
    "type": "post",
    "url": "/vectors",
    "title": "Create New Vector Layer",
    "version": "1.0.0",
    "name": "CreateNewVectorLayer",
    "group": "VectorLayer",
    "permission": [
      {
        "name": "authenticated"
      }
    ],
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "zoom_level",
            "description": "<p>Markers latitude.</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "size": "..50",
            "optional": false,
            "field": "filename",
            "description": "<p>Name of JSON file being uploaded.</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "size": "..5000000",
            "optional": false,
            "field": "geojson",
            "description": "<p>Content of JSON which will be saved as provided name.</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "size": "..10",
            "optional": false,
            "field": "color",
            "description": "<p>Color of vector layer.</p>"
          }
        ]
      }
    },
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "success",
            "description": "<p>Success message.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 200 OK\n{\n  \"success\": \"GeoJSON was successfully uploaded.\"\n}",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/VectorsController.php",
    "groupTitle": "VectorLayer",
    "header": {
      "fields": {
        "": [
          {
            "group": "Header",
            "type": "String",
            "optional": false,
            "field": "Authorization",
            "description": "<p>Bearer + token</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Authorization header example",
          "content": "Authorization: Bearer eyJ0eXAiO.iJKV1QiLCJhb.GciOiJIUzI1NiJ9",
          "type": "json"
        }
      ]
    },
    "error": {
      "fields": {
        "Error 4xx": [
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "TokenNotProvided",
            "description": "<p>Token not provided.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "ExpiredToken",
            "description": "<p>Provided token is expired.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "DecodingError",
            "description": "<p>An error while decoding token.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "TokenNotProvided response:",
          "content": "HTTP/1.1 401 Unauthorized\n{\n  \"error\": \"Token not provided.\"\n}",
          "type": "json"
        },
        {
          "title": "ExpiredToken response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"Provided token is expired.\"\n}",
          "type": "json"
        },
        {
          "title": "DecodingError response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"An error while decoding token.\"\n}",
          "type": "json"
        }
      ]
    }
  },
  {
    "type": "delete",
    "url": "/vectors/:id",
    "title": "Delete Vector Layer",
    "version": "1.0.0",
    "name": "DeleteVectorLayer",
    "group": "VectorLayer",
    "permission": [
      {
        "name": "authenticated"
      }
    ],
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>Vectors layer unique ID.</p>"
          }
        ]
      }
    },
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "success",
            "description": "<p>Success message.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 202 OK\n{\n  \"success\": \"GeoJSON layer was successfully deleted.\"\n}",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/VectorsController.php",
    "groupTitle": "VectorLayer",
    "header": {
      "fields": {
        "": [
          {
            "group": "Header",
            "type": "String",
            "optional": false,
            "field": "Authorization",
            "description": "<p>Bearer + token</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Authorization header example",
          "content": "Authorization: Bearer eyJ0eXAiO.iJKV1QiLCJhb.GciOiJIUzI1NiJ9",
          "type": "json"
        }
      ]
    },
    "error": {
      "fields": {
        "Error 4xx": [
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "TokenNotProvided",
            "description": "<p>Token not provided.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "ExpiredToken",
            "description": "<p>Provided token is expired.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "DecodingError",
            "description": "<p>An error while decoding token.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "TokenNotProvided response:",
          "content": "HTTP/1.1 401 Unauthorized\n{\n  \"error\": \"Token not provided.\"\n}",
          "type": "json"
        },
        {
          "title": "ExpiredToken response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"Provided token is expired.\"\n}",
          "type": "json"
        },
        {
          "title": "DecodingError response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"An error while decoding token.\"\n}",
          "type": "json"
        }
      ]
    }
  },
  {
    "type": "get",
    "url": "/vectors",
    "title": "Get All Vector Layers",
    "version": "1.0.0",
    "name": "GetAllVectors",
    "group": "VectorLayer",
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "Array",
            "optional": false,
            "field": "empty",
            "description": "<p>Array of vector layers.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 200 OK\n[\n  {\n    \"id\": 1,\n    \"zoom_level\": 17,\n    \"filepath\": \"vectors/Vyskum.json\",\n    \"color\": \"#ffcd56\"\n  },\n  {\n    \"id\": 2,\n    \"zoom_level\": 19,\n    \"filepath\": \"vectors/Dvorce.json\",\n    \"color\": \"#6ecc39\"\n  }\n]",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/VectorsController.php",
    "groupTitle": "VectorLayer"
  },
  {
    "type": "get",
    "url": "/vectors/data/:id",
    "title": "Get Vectors Layer Data",
    "version": "1.0.0",
    "name": "GetVectorLayerData",
    "group": "VectorLayer",
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>Vectors layer unique ID.</p>"
          }
        ]
      }
    },
    "success": {
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 200 OK\n {\n   \"type\": \"FeatureCollection\",\n   \"crs\": {\n     \"type\": \"name\"\n   },\n   \"features\": [\n     {\n       \"type\": \"Feature\",\n       \"id\": 0,\n       \"geometry\": {\n         \"type\": \"Polygon\",\n         \"coordinates\": [\n           [\n             [\n               16.8969958,\n               48.7320973\n             ],\n             [\n               16.8970657,\n               48.7320529\n             ],\n             [\n               16.8971048,\n               48.7320789\n             ]\n           ]\n         ]\n       }\n     },\n     {\n       \"type\": \"Feature\",\n       \"id\": 1,\n       \"geometry\": {\n         \"type\": \"Polygon\",\n         \"coordinates\": [\n           [\n             [\n               16.8969958,\n               48.7320973\n             ],\n             [\n               16.8969351,\n               48.7320584\n             ]\n           ]\n         ]\n       }\n     }\n   ]\n }",
          "type": "json"
        }
      ]
    },
    "error": {
      "examples": [
        {
          "title": "Error Response:",
          "content": "HTTP/1.1 404 Not Found",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/VectorsController.php",
    "groupTitle": "VectorLayer"
  },
  {
    "type": "get",
    "url": "/vectors/:id",
    "title": "Get Vectors Layer Details",
    "version": "1.0.0",
    "name": "GetVectorLayerDetails",
    "group": "VectorLayer",
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>Vectors layer unique ID.</p>"
          }
        ]
      }
    },
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>ID of the vector layer.</p>"
          },
          {
            "group": "Success 200",
            "type": "Number",
            "optional": false,
            "field": "zoom_level",
            "description": "<p>Maps zoom level on which layer should be visible.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "filepath",
            "description": "<p>Filepath of save JSON file.</p>"
          },
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "color",
            "description": "<p>Color of vector layer.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 200 OK\n{\n  \"id\": 1,\n  \"zoom_level\": 17,\n  \"filepath\": \"vectors/Vyskum.json\",\n  \"color\": \"#ffcd56\"\n}",
          "type": "json"
        }
      ]
    },
    "error": {
      "fields": {
        "Error 4xx": [
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "VectorLayerNotFound",
            "description": "<p>Vector layer with provided id doesn't exists!</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Error Response:",
          "content": "HTTP/1.1 404 Not Found\n{\n  \"error\": \"VectorLayerNotFound\"\n}",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/VectorsController.php",
    "groupTitle": "VectorLayer"
  },
  {
    "type": "post",
    "url": "/vectors/:id",
    "title": "Update Vector Layer",
    "version": "1.0.0",
    "name": "UpdateVectorLayer",
    "group": "VectorLayer",
    "permission": [
      {
        "name": "authenticated"
      }
    ],
    "parameter": {
      "fields": {
        "Parameter": [
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "id",
            "description": "<p>Vectors layer unique ID.</p>"
          },
          {
            "group": "Parameter",
            "type": "Number",
            "optional": false,
            "field": "zoom_level",
            "description": "<p>Markers latitude.</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "size": "..50",
            "optional": false,
            "field": "filename",
            "description": "<p>Name of JSON file being uploaded.</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "size": "..5000000",
            "optional": false,
            "field": "geojson",
            "description": "<p>Content of JSON which will be saved as provided name.</p>"
          },
          {
            "group": "Parameter",
            "type": "String",
            "size": "..10",
            "optional": false,
            "field": "color",
            "description": "<p>Color of vector layer.</p>"
          }
        ]
      }
    },
    "success": {
      "fields": {
        "Success 200": [
          {
            "group": "Success 200",
            "type": "String",
            "optional": false,
            "field": "success",
            "description": "<p>Success message.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Success Response:",
          "content": "HTTP/1.1 200 OK\n{\n  \"success\": \"GeoJSON layer was successfully updated.\"\n}",
          "type": "json"
        }
      ]
    },
    "filename": "app/Http/Controllers/VectorsController.php",
    "groupTitle": "VectorLayer",
    "header": {
      "fields": {
        "": [
          {
            "group": "Header",
            "type": "String",
            "optional": false,
            "field": "Authorization",
            "description": "<p>Bearer + token</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "Authorization header example",
          "content": "Authorization: Bearer eyJ0eXAiO.iJKV1QiLCJhb.GciOiJIUzI1NiJ9",
          "type": "json"
        }
      ]
    },
    "error": {
      "fields": {
        "Error 4xx": [
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "TokenNotProvided",
            "description": "<p>Token not provided.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "ExpiredToken",
            "description": "<p>Provided token is expired.</p>"
          },
          {
            "group": "Error 4xx",
            "optional": false,
            "field": "DecodingError",
            "description": "<p>An error while decoding token.</p>"
          }
        ]
      },
      "examples": [
        {
          "title": "TokenNotProvided response:",
          "content": "HTTP/1.1 401 Unauthorized\n{\n  \"error\": \"Token not provided.\"\n}",
          "type": "json"
        },
        {
          "title": "ExpiredToken response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"Provided token is expired.\"\n}",
          "type": "json"
        },
        {
          "title": "DecodingError response:",
          "content": "HTTP/1.1 400 Bad Request\n{\n  \"error\": \"An error while decoding token.\"\n}",
          "type": "json"
        }
      ]
    }
  }
] });
