Удаление объектов

В большинстве моделей мы не используем хардовое удаление объектов. Это сделано для облегчения кейсов восстановления удаленных данных. Вместо этого мы помечаем объекты, как удаленные с помощью служебного атрибута deletedAt.

Удаление объекта

Чтобы удалить объект – нужно обновить его, проставив в атрибут deletedAt в текущее время в формате ISO. Пример:
mutation { updateOrganization(id: "5cb19b4a-a215-466e-8214-01c24942d962", data: { deletedAt: "2023-06-02T11:38:25Z" }) { id } }

Получение неудаленных данных

Чтобы получить из запроса только неудаленные объекты, делать ничего не нужно :) Мы по умолчанию убираем из выдачи удаленные объекты.

Получение удаленных объектов

Чтобы включить в выборку все объекты, включая удаленные, необходимо добавить query-параметр deleted=true в адрес запроса.
Для фильтрации объектов используется фильтры на поле deletedAt. Так, например, выглядит запрос на получение всех удаленных контактов жителей, которые привязаны к удаленным домам.
{ allContacts (where: { deletedAt_not: null property: { deletedAt: null } }) { id property { id } } }
При этом URL запроса выглядит следующим образом: https://condo.d.doma.ai/admin/api?deleted=true