Коллекция

/api/collection методы. По умолчанию эти методы работают с коллекциями в пространстве имен ‘default’, которое содержит такие вещи, как панели инструментов и карточки. Также существуют другие пространства имен коллекций, такие как :snippet (в интерфейсе пользователя называется “Папки сниппетов”). Эти пространства имен являются полностью независимыми иерархиями. Чтобы использовать эти конечные точки для других пространств имен коллекций, вы можете передать параметр ?namespace= (например, ?namespace=snippet).

GET /api/collection/

Получить список всех коллекций, для которых текущий пользователь имеет разрешения на чтение (свойство :can_write возвращается как дополнительное свойство каждой коллекции, так что вы можете узнать, над какой из них у вас есть разрешения на запись). По умолчанию возвращаются неархивированные коллекции, но вместо этого вы можете показать архивные, передав ?archived=true. Пользователь администратор может видеть все коллекции. Чтобы скрыть коллекции других пользователей вы можете передать ?exclude-other-user-collections=true

Параметры:

  • archived логическое значение, может быть пустым.

  • exclude-other-user-collections логическое значение, может быть пустым.

  • namespace непустая строка или null.

GET /api/collection/:id

Получить конкретную коллекцию с добавленными стандартными данными.

Параметры:

  • id целое число больше нуля.

GET /api/collection/:id/items

Получить определенные элементы коллекции со следующими параметрами:

  • models - включает только объекты определенного набора моделей. Если не указано, возвращает объекты всех моделей

  • archived - когда true, возвращать заархивированные объекты вместо разархивированных. По умолчанию - false.

  • pinned_state - когда is_pinned, возвращать только закрепленные объекты.

              когда `is_not_pinned`, возвращать только незакрепленные объекты.
              когда `all`, вернуть все. Является значением по умолчанию.
    

Параметры:

  • id целое число больше нуля.

  • models Значение может быть пустым, а если не пустое, должно удовлетворять одному из следующих требований: 1) Значение является массивом, каждый элемент которого должен быть одним из следующих: card, collection, dashboard, dataset, no_models, pulse, snippet, timeline. 2) значение должно быть одним из: card, collection, dashboard, dataset, no_models, pulse, snippet, timeline.

  • archived логическое значение, может быть пустым.

  • pinned_state Значение может быть пустым, а если не пустое, значение должно быть одним из: all, is_not_pinned, is_pinned.

  • sort_column Значение может быть пустым, а если не пустое, значение должно быть одним из: last_edited_at, last_edited_by, model, name.

  • sort_direction Значение может быть пустым, а если не пустое, значение должно быть одним из: asc, desc.

GET /api/collection/:id/timelines

Получить timelines конкретной коллекции.

Параметры:

  • id целое число больше нуля.

  • include значение должно быть равно events, может быть пустым.

  • archived логическое значение, может быть пустым.

GET /api/collection/graph

Получить граф всех разрешений для всех коллекций.

Вы должны обладать правами суперпользователя, чтобы использовать этот метод.

Параметры:

  • namespace непустая строка или null.

GET /api/collection/root

Возвращает объект корневой коллекции со стандартными деталями.

Параметры:

  • namespace непустая строка или null.

GET /api/collection/root/items

Получить объекты, которые текущий пользователь должен видеть на своем базовом уровне. Как упоминалось ранее, коллекция “Root” на самом деле не существует как конкретная строка в базе данных приложения: это просто виртуальная коллекция, где элементы хранятся без привязки к collection_id. Однако у нее есть свой собственный набор разрешений.

Этот метод фактически будет показывать объекты без collection_id для пользователей, которые имеют разрешения на корневую коллекцию, для пользователей же без разрешений мы просто покажем объекты, которые имеют эффективное расположение “/”.

Этот метод предназначен для показа “Представления корневой папки” для текущего пользователя, поэтому он сможет увидеть все объекты верхнего уровня, к которым у него есть доступ. По умолчанию будет показано пространство имен Коллекций ‘по умолчанию’; чтобы просмотреть другое пространство имен, например snippets, вы можете передать параметр ?namespace=.

Параметры:

  • models Значение может быть пустым, а если не пустое, значение должно отвечать следующим требованиям: 1) Значение должно представлять собой массив из следующих элементов: app, card, collection, dashboard, dataset, no_models, page, pulse, snippet, timeline. 2) значение должно быть одним из: app, card, collection, dashboard, dataset, no_models, page, pulse, snippet, timeline.

  • archived логическое значение, может быть пустым.

  • namespace непустая строка или null.

  • pinned_state Значение может быть пустым, а если не пустое, значение должно быть одним из: all, is_not_pinned, is_pinned.

  • sort_column Значение может быть пустым, а если не пустое, значение должно быть одним из: last_edited_at, last_edited_by, model, name.

  • sort_direction Значение может быть пустым, а если не пустое, значение должно быть одним из: asc, desc.

GET /api/collection/root/timelines

Получить timelines основной коллекции.

Параметры:

  • include значение должно быть равно events, может быть пустым.

  • archived логическое значение, может быть пустым.

GET /api/collection/tree

Аналогично GET /, возвращает древовидную структуру коллекций, например:

[{:name     "A"
:below    #{:card :dataset}
:children [{:name "B"}
           {:name     "C"
            :here     #{:dataset :card}
            :below    #{:dataset :card}
            :children [{:name     "D"
                        :here     #{:dataset}
                        :children [{:name "E"}]}
                       {:name     "F"
                        :here     #{:card}
                        :children [{:name "G"}]}]}]}
{:name "H"}]

Ключи “here” и “below” указывают на типы элементов на конкретном уровне дерева (here) и в его поддереве (below).

Параметры:

  • exclude-archived логическое значение, может быть пустым.

  • exclude-other-user-collections логическое значение, может быть пустым.

  • namespace непустая строка или null.

POST /api/collection/

Создать новую коллекцию.

Параметры:

  • name непустая строка.

  • color строка, соответствующая регулярному выражению ^#[0-9A-Fa-f]{6}$.

  • description непустая строка или null.

  • parent_id целое число больше нуля или null.

  • namespace непустая строка или null.

  • authority_level Значение может быть пустым, а если не пустое, значение должно быть одним из: official.

PUT /api/collection/:id

Изменить существующую коллекцию, включая ее архивирование, разархивирование или перемещение.

Параметры:

  • id

  • name непустая строка или null.

  • color null или строка, соответствующая регулярному выражению ^#[0-9A-Fa-f]{6}$.

  • description непустая строка или null.

  • archived логическое значение, может быть пустым.

  • parent_id целое число больше нуля или null.

  • authority_level Значение может быть пустым, а если не пустое, значение должно быть одним из: official.

  • collection-updates

PUT /api/collection/graph

Выполните пакетное обновление разрешений коллекций, передав измененный граф. Эта операция перезапишет элементы графа, которые получены из запроса и оставит остальные элементы графа нетронутыми.

Вы должны обладать правами суперпользователя, чтобы использовать этот метод.

Параметры:

  • namespace непустая строка или null.

  • body карта.


<< Назада к разделу API