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).