# Mesta Back
## Response structure
status - bool поле возвращает true если все норм false если все по пизде пошло))
errors - ошибки которые вылезли при обработке запроса
values - ответ от сервера, все данные передаются в это поле
time_req - просто стата для меня чтобы понимать что эндпоинт нигде не лагает (можешь забить на него)
#### Example
##### Мать жива
``` json
{
"status": true,
"errors": [],
"values": [
"633ddbe0ef676b1915e65d07"
],
"tm_req": "1.288071ms"
}
```
##### Мать умерла
``` json
{
"status": false,
"errors": [
{
"key": 114,
"message": "place not found"
}
],
"values": [],
"tm_req": "6.666453ms"
}
```
## Endpoints
### /api/v1/place/create
Создание места
#### Request
name (string) - имя места
type (string) - тип места
address (string) - адрес места
phone (string) - телефон места, валидируется на беке, проверяется на уникальность
work_time (string) - время работы места, пока никак не парсится, хранится и отдается в том виде в котором ты передашь
description (string) - описание места
tags (string) - теги места, сплитуются по запятой в массив стрингов, убираются пробелы в начале и конце каждого тега, отдаются массивом стрингов (тегов)
photo (string) - линка на фото
accessibility (string) - описание доступности места
email (string) - email места, валидируется на беке, проверяется на уникальность
social_networks (map[string]string)- соц сети места
website (string) - сайт места
#### Response
Возвращает id созданного места
#### Example
##### Request
```json
{
"name": "oleg" ,
"type": "olegator",
"address": "olegator str",
"phone": "89869308440",
"work_time": "8:00 19:00",
"descriprion": "im oleg",
"tags": "porn, loli, big black oleg ",
"photo": "photo link",
"accessibility": "acc",
"email": "oleg@oleg.ru",
"social_networks" : {
"vk": "vk.com/oleg",
"ok": "ok.com/oleg"
},
"website": "oleg.com"
}
```
##### Response
```json
{
"status": true,
"errors": [],
"values": [
"633ddbe0ef676b1915e65d07"
],
"tm_req": "1.288071ms"
}
```
### /api/v1/place/get
Получение места
#### Request
id (string) - id места
#### Response
Возвращает место
#### Example
##### Request
```json
{
"id": "633ddae4499dd516f5602822"
}
```
##### Response
```json
{
"status": true,
"errors": [],
"values": [
{
"name": "oleg",
"type": "olegator",
"address": "olegator str",
"phone": "89869308440",
"work_time": "8:00 19:00",
"rating": 0,
"description": "",
"tags": [
"porn",
"loli",
"big black oleg"
],
"photo": "photo link",
"accessibility": "acc",
"email": "oleg@oleg.ru",
"social_networks": {
"ok": "ok.com/oleg",
"vk": "vk.com/oleg"
},
"website": "oleg.com"
}
],
"tm_req": "559.043µs"
}
```
### /api/v1/place/getallplaces
Получение всех мест
#### Request
Ничего не отправляется
#### Response
Возвращает все места из бд
#### Example
##### Request
```json
{
}
```
##### Response
```json
{
"status": true,
"errors": [],
"values": [
{
"id": "633ddae4499dd516f5602822",
"name": "oleg",
"type": "olegator",
"address": "olegator str",
"phone": "89869308440",
"work_time": "8:00 19:00",
"rating": 0,
"description": "",
"tags": [
"porn",
"loli",
"big black oleg"
],
"photo": "photo link",
"accessibility": "acc",
"email": "oleg@oleg.ru",
"social_networks": {
"ok": "ok.com/oleg",
"vk": "vk.com/oleg"
},
"website": "oleg.com",
"created_at": "2022-10-05T19:28:36.075Z"
},
{
"id": "633ddbe0ef676b1915e65d07",
"name": "igor",
"type": "igorator",
"address": "igorator str",
"phone": "89889308440",
"work_time": "8:00 19:00",
"rating": 0,
"description": "",
"tags": [
"porn",
"loli",
"big black igor"
],
"photo": "photo link",
"accessibility": "acc",
"email": "igor@igor.ru",
"social_networks": {
"ok": "ok.com/igor",
"vk": "vk.com/igor"
},
"website": "igor.com",
"created_at": "2022-10-05T19:32:48.43Z"
}
],
"tm_req": "473.781µs"
}
```