Версия:

remove

Удаление в системе работает каскадно. Система определяет все зависимые классы (таблицы) и тип их зависимости. После чего по этим классам проводится поиск, есть ли зависимые данные от удаляемой записи.

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

Зависимость учитывает иерархические таблицы и для всех зависимых данных ищутся их зависимости.

Такое удаление требует подтверждения, для этого должен быть передан параметр confirm=true. Если параметр не передан, то после поиска зависимостей система возвращает UserError типа needConfirm (code=10), а в data передает объект с информацией по всем зависимостям.

Код 10 особым образом обрабатывается фронтом автоматически показывая диалог с запросом подтверждения, с указанным на бэкэнде текстом и версткой. Вы можете использовать needConfirm в своих пользовательских методах.

Удаление может быть запрещено на уровне профайла класса/клиентского объекта (editable/remove_command).

Система использует механизм soft deletion, то есть данные не удаляются, а помечаются меткой времени. Ядро строит все запросы таким образом, что везде (включая join(ы)) подставляется условие проверки поля deleted.

Входными параметры. Интерфейс IAPIQueryParams

id удаляемой записи и булевое поле confirm=true.

Выходные параметры. Интерфейс IAPIResponse/IError

В случае ошибки метод вернет объект ошибки - инстанс UserError/MyError.

В случае успеха метод вернет id удаленной записи в объекте data инстанса UserOk (res.data.id).