Перейти к основному содержимому
Версия: 1.12.0

Группы

Получить список групп

Запрос profileGroups() позволяет получить список всех групп, хранящихся в базе данных.

profileGroups(filter: JSON = null
ids: [ID] = null
limit: Int = null
offset: Int = null
order: [String] = null): ProfileGroupsCollection!

filter: JSON: Вы можете отфильтровать список групп по одному или нескольким параметрам:

  • creation_date: Точная дата создания группы в формате ISO 8601
  • id: ID группы из базы данных
  • info: В формате JSON, полностью аналогичен параметру info объекта группы
  • last_modified: Точная дата последнего изменения группы в формате ISO 8601
  • link_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 8601
    • creationDate: Дата создания группы в формате ISO 8601
    • profileIds: Список 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() позволяет создать группу. Созданная группа автоматически сохраняется на

-сервере.

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"
}
]
}
]
}
}
}