Группы
Получить список групп
Запрос profileGroups()
позволяет получить список всех групп, хранящихся в базе данных.
profileGroups(filter: JSON = null
ids: [ID] = null
limit: Int = null
offset: Int = null
order: [String] = null): ProfileGroupsCollection!
Входные параметры:
filter: JSON
: Вы можете отфильтровать список групп по одному или нескольким параметрам:
creation_date
: Точная дата создания группы в формате ISO 8601id
: ID группы из базы данныхinfo
: В формате JSON, полностью аналогичен параметруinfo
объекта группыlast_modified
: Точная дата последнего изменения группы в формате ISO 8601link_to_profile
:profiles
: Список ID профилейtitle
: Название группы
ids: [ID]
: Для получения списка конкретных групп укажите их ID в списке.
limit: Int
: Параметр позволяет получить первые n
профилей из списка.
offset: Int
: Параметр позволяет убрать первыеn
профилей из списка.
Выходные параметры:
ProfileGroupsCollection!
: Результат мутации - список групп со следующими параметрами:
totalCount
: Число возвращенных группcollectionItems: [ProfileGroupOutput!]!
:id
: ID группыtitle
: Название группыinfo
: Дополнительная информация о группе в JSON-форматеlastModified
: Дата последнего изменения группы в формате ISO 8601creationDate
: Дата создания группы в формате ISO 8601profileIds
: Список ID профилей, добавленных в группу
Пример запроса:
{
profileGroups(ids: ["97c1a9fa-bfde-460a-9bda-f610060423ca"]) {
totalCount
collectionItems {
id
creationDate
info
lastModified
profileIds
title
}
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"profileGroups": {
"totalCount": 1,
"collectionItems": [
{
"id": "97c1a9fa-bfde-460a-9bda-f610060423ca",
"creationDate": "2022-07-07T07:21:06.428216+00:00",
"info": {
"color": "red.600"
},
"lastModified": "2022-07-07T07:21:06.428205+00:00",
"profileIds": [
"e4975119-cac7-4ced-ae3f-779bb1093c89",
"1cf13933-00be-4a6d-8dc3-3ff17f94aef8",
"b4a16647-1336-4ed8-a440-e4e8896e1de3"
],
"title": "My persons"
}
]
}
}
}
Создать группу
Мутация createProfileGroup()
позволяет создать группу. Созданная группа автоматически сохраняется на OMNI Platform-сервере.
createProfileGroup(profileGroupData: ProfileGroupInput!): ProfileGroupModifyOutput!
Входные параметры:
profileGroupData: ProfileGroupInput!
: JSON с данными для создания группы:
title: String!
: Название новой группыinfo: JSON = null
: Дополнительная информация о группе
Выходные параметры:
ProfileGroupInput!
: Результат мутации - JSON-файл со следующими параметрами:
ok: Boolean
: Флаг об успешном завершении мутацииprofileGroup: ProfileGroupOutput
: Объект новой группы
Пример запроса:
mutation{
createProfileGroup(profileGroupData: {title: "My new group"}) {
ok
profileGroup {
creationDate
id
info
lastModified
profileIds
title
}
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"createProfileGroup": {
"ok": true,
"profileGroup": {
"creationDate": "2022-07-08T07:44:10.766783+00:00",
"id": "d77c80eb-fffb-4812-a63c-cd8007270ef3",
"info": {},
"lastModified": "2022-07-08T07:44:10.766767+00:00",
"profileIds": [],
"title": "My new group"
}
}
}
}
Удалить группу
Мутация deleteProfileGroup()
позволяет удалить список групп.
deleteProfileGroup(groupIds: [ID!]!): MutationResult!
Входные параметры:
groupIds: [ID!]!
: Список ID групп, которые необходимо удалить
Выходные параметры:
MutationResult!
: Результат мутации - JSON-файл со следующими параметрами:
ok: Boolean
: Флаг об успешном завершении мутации
Пример запроса:
mutation{
deleteProfileGroup(groupIds: ["d77c80eb-fffb-4812-a63c-cd8007270ef3"]) {
ok
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"deleteProfileGroup": {
"ok": true
}
}
}
Обновить группу
Мутация updateProfileGroupInfo()
используется для обновления информации группы.
updateProfileGroupInfo(profileGroupData: ProfileGroupModifyInput!
profileGroupId: ID!): ProfileGroupModifyOutput!
Входные параметры:
profileGroupData: ProfileGroupModifyInput!
: JSON с информацией для обновления:
title
: Название группыinfo
: Дополнительная информация о группе
profileGroupId: ID!
: ID группы
Выходные параметры:
ProfileGroupModifyOutput!
: Результат мутации - JSON-файл со следующими параметрами:
ok: Boolean
: Флаг об успешном завершении мутацииprofileGroup: ProfileGroupOutput
: Обновленный объект группы
Ошибки входных данных:
- Группа не найдена по переданному ID:
{
"message": "Label matching query does not exist."
}
Пример запроса:
mutation{
updateProfileGroupInfo(profileGroupData: {title: "New group's name"}, profileGroupId: "800f0b65-7dbe-42b2-8f66-89af95a734e7") {
ok
profileGroup {
id
title
}
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"updateProfileGroupInfo": {
"ok": true,
"profileGroup": {
"id": "800f0b65-7dbe-42b2-8f66-89af95a734e7",
"title": "New group's name"
}
}
}
}
Добавить профили в группы
Мутация addProfilesToGroups()
позволяет добавить профили в одну или несколько групп.
addProfilesToGroups(groupIds: [ID!]!
profilesIds: [ID!]!): ProfilesUpdateOutput!
Входные параметры:
groupIds: [ID!]!
: Список ID групп
profilesIds: [ID!]!
: Список ID профилей
Выходные параметры:
ProfilesUpdateOutput!
: Результат мутации - JSON-файл со следующими параметрами:
ok: Boolean
: Флаг об успешном завершении мутацииprofiles: [ProfileOutput!]!
: Список обновленных профилей
Ошибки входных данных:
- Профиль не найден по переданному ID:
{
"message": "Profile matching query does not exist."
} - Группы не найдены по переданным ID:
{
"message": "One or several profiles_groups does not exist",
"code": "0x573bkd35"
}
Пример запроса:
mutation{
addProfilesToGroups(
groupIds: ["5b53aa69-d515-4fd3-81bf-c3d8696c3ab8", "800f0b65-7dbe-42b2-8f66-89af95a734e7"],
profilesIds: ["1cf13933-00be-4a6d-8dc3-3ff17f94aef8", "292a2f47-8bfd-4782-8fdf-c8b8189e300e", "3f4c1579-4e5e-4ef4-b9e1-a19808c4d931"]
) {
ok
profiles {
id
profileGroups {
id
}
}
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"addProfilesToGroups": {
"ok": true,
"profiles": [
{
"id": "1cf13933-00be-4a6d-8dc3-3ff17f94aef8",
"profileGroups": [
{
"id": "97c1a9fa-bfde-460a-9bda-f610060423ca"
},
{
"id": "5b53aa69-d515-4fd3-81bf-c3d8696c3ab8"
},
{
"id": "800f0b65-7dbe-42b2-8f66-89af95a734e7"
}
]
},
{
"id": "292a2f47-8bfd-4782-8fdf-c8b8189e300e",
"profileGroups": [
{
"id": "5b53aa69-d515-4fd3-81bf-c3d8696c3ab8"
},
{
"id": "800f0b65-7dbe-42b2-8f66-89af95a734e7"
}
]
},
{
"id": "3f4c1579-4e5e-4ef4-b9e1-a19808c4d931",
"profileGroups": [
{
"id": "edbb2c49-bacc-4b43-aac8-e06fd3da35eb"
},
{
"id": "5b53aa69-d515-4fd3-81bf-c3d8696c3ab8"
},
{
"id": "800f0b65-7dbe-42b2-8f66-89af95a734e7"
}
]
}
]
}
}
}
Удалить профили из групп
Мутация removeProfilesFromGroups()
используется для удаления выбранных профилей из одной или нескольких групп.
removeProfilesFromGroups(groupIds: [ID!]!
profilesIds: [ID!]!): ProfilesUpdateOutput!
Входные параметры:
groupIds: [ID!]!
: Список ID групп
profilesIds: [ID!]!
: Список ID профилей
Выходные параметры:
ProfilesUpdateOutput!
: Результат мутации - JSON-файл со следующими параметрами:
ok: Boolean
: Флаг об успешном завершении мутацииprofiles: [ProfileOutput!]!
: Список обновленных профилей
Ошибки входных данных:
- Профиль не найден по переданному ID:
{
"message": "Profile matching query does not exist."
} - Группы не найдены по переданным ID:
{
"message": "One or several profiles_groups does not exist",
"code": "0x573bkd35"
}
Пример запроса:
mutation{
removeProfilesFromGroups(
groupIds: ["5b53aa69-d515-4fd3-81bf-c3d8696c3ab8", "800f0b65-7dbe-42b2-8f66-89af95a734e7"],
profilesIds: ["1cf13933-00be-4a6d-8dc3-3ff17f94aef8", "292a2f47-8bfd-4782-8fdf-c8b8189e300e", "3f4c1579-4e5e-4ef4-b9e1-a19808c4d931"]
) {
ok
profiles {
id
profileGroups {
id
}
}
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"removeProfilesFromGroups": {
"ok": true,
"profiles": [
{
"id": "1cf13933-00be-4a6d-8dc3-3ff17f94aef8",
"profileGroups": [
{
"id": "97c1a9fa-bfde-460a-9bda-f610060423ca"
}
]
},
{
"id": "292a2f47-8bfd-4782-8fdf-c8b8189e300e",
"profileGroups": []
},
{
"id": "3f4c1579-4e5e-4ef4-b9e1-a19808c4d931",
"profileGroups": [
{
"id": "edbb2c49-bacc-4b43-aac8-e06fd3da35eb"
}
]
}
]
}
}
}