---
# System prepended metadata

title: Untitled

---

User API

1. POST /login
    ```json
    {
        "login" : "String",
        "password" : "String",
        "token" : {
            "value" : "String",
            "type" : 0-4
        }
    }
    ```
    Available types:
    GOOGLE(0),
    APPLE(1),
    VK(2),
    FACEBOOK(3),
    ODNOKLASSNIKI(4)
    
    Можно послать логин+пароль, либо токен своего любимого провайдера, если пошлешь оба, то будет использован токен.
    
    При отправке неправильной пары логин+пароль, либо некорректного токена, вопрошающий будет послан.
    При отправке корректного токена, но отсутствующего в базе, будет зарегистрирован новый юзер.
    
    Response:
     - authentication: "backend jwt token"
     - HTTP 404 - user not found
     - HTTP 401 - wrong credentials
2. GET /favourites
    
    Response:
    ```json
    {
        "placeIds" : List<String>.
        "timestamp" : long
    }
    ```
    
    Возвращает id всех избранных мест для юзера.
    Добавил поле timespamp чтобы сортировать в хронологичесом порядке.
         
3. POST /favourites
    ```json
    {
        "placeId" : String
    }
    ```
    
    Добавить место с таким id в избранное.
    
        Response:
     - HTTP 404 - места с таким id нет
    
4. DELETE /favourites/[id]
    
    Удалить место с id из избранного
    
        Response:
     - HTTP 404 - места с таким id нет

5. /content/[id]
    
    Response:
    ```json
    {
        "id" : String,
        "name" : String,
        "description" : String,
        "price" : double,
        "temperature" : double,
        "imageUrl" : String,
        "videoUrl" : String,
        "originVideoUrl" : String,
        "flightLink" : String,
        "date" : long,
        "lat" : double,
        "lng" : double,
        "expires" : String (timestamp)
    }
    ```
    
6. /content/batch

    Request:
    ```json
    {
        "placeIds" : List<String>
    }
    ```
    
    Response:
    ```json
    {
        "places" : List<Place>
    }
    ```
    
7. /places
8. /places/[id]
9. places/batch