Сервер BOOCO Meteor (v 1.x) / Примеры добавления коллекций
Добавление коллекции на сервер
◼ places
Коллекция places:
place, к которому относится ресурс, указывается в Карточке ресурса в поле Расположение.
Настройте права для работы с коллекцией places. Для этого в разделе Инструменты администратора → Редактор прав:
admin
добавьте ресурс place
;place
установите доступы:
any
для действий read
, create
и update
— разрешают просматривать, добавлять и обновлять любые коллекции;own
для действия delete
— разрешает удалять коллекции, которые добавил сам пользователь;own
для действия execute
— доступ на исполнение действий с коллекциями, которые добавил сам пользователь.Создайте файл places.json. Для этого:
скачайте шаблон:
укажите нужные данные ****и сохраните файл с именем places.json.
Загрузите на сервер BOOCO содержимое файла places.json. Для этого:
нажмите на значок шестеренки и выберите REST API;
на странице отправки REST API-запроса в поле Данные скопируйте содержимое файла places.json и сделайте POST-запрос для загрузки на сервер. В поле REST API URL должен быть следующий адрес: http(s)://<адрес сервера>/api/v1/places
После отправки POST-запроса под кнопками в строке status
отобразится результат загрузки данных:
success
— данные загружены;access denied
— данные не загружены. Проверьте, корректно ли настроены доступы для работы с коллекцией places
. Настройте доступы так, как показано в п. 1, и повторите POST-запрос.Сбросьте коллекцию places
в разделе Инструменты администратора → Операции с коллекциями.
<aside>
💡 После добавления коллекции places
на сервер BOOCO каждому place будет автоматически присвоен уникальный id
.
</aside>
<aside>
⚠️ Чтобы добавить новый place или сегмент — измените измените places
и импортируйте обновленный файл places.json.
</aside>
Данные в разделе interface IPlace extends IWithTitles
Данные в разделе interface ISegment extends IWithTitle
<aside> 💡 Сегменты можно не описывать (даже если они есть).
</aside>
Пример файла places.json:
interface IPlace extends IWithTitles {
uuid: Company-center1;
name: Москва;
address?: Москва, ул. Тестовая, 1;
description?: Центральный офис;
segments?: IPlaceSegment[Сектор A, Сектор B];
}
interface ISegment extends IWithTitles {
uuid: sector-A;
name: Сектор A;
map?: sectorA-map.svg;
description?: Сектор A с переговорными комнатами;
rang?: 1;
}
interface ISegment extends IWithTitles {
uuid: sector-B;
name: Сектор B;
map?: sectorB-map.svg;
description?: Сектор B - опенспейс на 2-м этаже;
rang?: 2;
}
interface IPlace extends IWithTitles {
uuid: Company-regions2;
name: Региональные офисы;
address?: Россия;
description?: Офисы в Пензе и Нижнем Новгороде;
segments?: IPlaceSegment[Пенза, Нижний Новгород];
}
interface ISegment extends IWithTitles {
uuid: penza;
name: Пенза;
map?: penza-map.svg;
description?: Пенза, ул. Западная, д. 100, этаж 2, каб. 2-12;
rang?: 1;
}
interface ISegment extends IWithTitles {
uuid: nn;
name: Нижний Новгород;
map?: nn-map.svg;
description?: Нижний Новгород, ул. Восточная, д. 99, этаж 3;
rang?: 2;
}