Включается после первого запроса в backend на получение записей

В полученном ответе у всех записей должен быть параметр deleted_at

Cодержит дату и время удаления данной записи, если запись не удалено, то null

Счетчик окончательного удаления

Untitled

Для включения таймера окончательного удаления каждый запроса в backend на получение записей должен возвращать параметр dateForcedDelete содержит дату и время окончательного удаления.

После того как deleted_atdateForcedDelete то запись должна удалиться, счетчик доходит до 0д. 0ч. 0м.

Пример ответа от backend

GET: '/admin/post'

RESPONSE: [
	'dateForcedDelete' => '2022-12-04T20:48:28.171860Z',
	'paginate' => [
		'data' => [
			[
				'id' => 1,
				'name' => 'Тестовая запись 1',
				'deleted_at' => '2022-12-16T13:54:20.000000Z'
			],
			[
				'id' => 2,
				'name' => 'Тестовая запись 2',
				'deleted_at' => null
			]
			...
		]
		...
	],
	...
]

Отображение записей

Если в разделе включено мягкое удаление, то появляются настройки отображения записей

Untitled

При переключении настроек в backend уходит запрос на получение записей с определенным параметром

// Активные + удаленные
GET: '/admin/post' 

// Только активные
GET: '/admin/post?withTrashed=0' 

// Активные удаленные
GET: '/admin/post?onlyTrashed=1' 

Удаление записи

По нажатию на кнопку удаления отправляется запрос в backend с параметром delete_id содержащий id записи или несколько id через запятую, ответ должен возвращать при успехе: 'success' => true, при ошибке: 'error' => 'текст'

// Пример 1: Запрос на удаление 1 запися
GET: '/admin/post?delete_id=23'

// Успешно
RESPONSE: [
	'success' => true
]

// Пример 2: Запрос на удаление 2 записей
GET: '/admin/post?delete_id=23,24'

// Успешно
RESPONSE: [
	'success' => true
]

Восстановление записи

По нажатию на кнопку Восстановить отправляется запрос в backend с параметром restore_id содержащий id записи, ответ должен возвращать при успехе: 'success' => true, при ошибке: 'error' => 'Запись не найдена'

// Пример 1: Запрос на восстановление записи
GET: '/admin/post?restore_id=23'

// Успешно
RESPONSE: [
	'success' => true
]

// Пример 2: Запрос на восстановление записи
GET: '/admin/post?restore_id=99999'

// Ошибка
RESPONSE: [
	'error' => 'Запись не найдена'
]