Endpoint: DeleteInputPacket
Удаление пакета из очереди двух видов: мягкое (пометка, скрытие, обратимо) и жёсткое (окончательное, с файлами). Поведение — DeleteInputPacketHandler / ForceDeleteInputPacketHandler.
1. Транспорт
DELETE /api/InputPacket/{id}— мягкое удаление: пометкаDeleted, пакет скрывается из очереди; запись и файлы сохраняются (обратимо). Оператору доступно по умолчанию.DELETE /api/InputPacket/{id}/force— жёсткое удаление: окончательно удаляет запись (каскадом — кадры и идентификаторы) и файлы кадров из хранилища (необратимо). Доступно только по праву на эту команду (claim; модель доступа — ADR-011).
Параметр id — в пути, тела запроса нет. Ответ обоих — единая обёртка с Payload (вид удаления в Mode).
404, если пакет не найден.
2. Command (мягкое)
/// <summary>Команда мягкого удаления пакета.</summary>
public class DeleteInputPacketCommand : BasedCommand
{
/// <summary>Идентификатор пакета.</summary>
public Guid Id { get; init; }
}
3. Command (жёсткое)
/// <summary>Команда жёсткого (окончательного) удаления пакета.</summary>
public class ForceDeleteInputPacketCommand : BasedCommand
{
/// <summary>Идентификатор пакета.</summary>
public Guid Id { get; init; }
}
4. Result
/// <summary>Результат удаления (общий для мягкого и жёсткого).</summary>
public class DeletePacketResult : BasedResult
{
/// <summary>Сведения об удалённом пакете; null при ошибке (например, пакет не найден).</summary>
public DeletedPacketPayload? Payload { get; init; }
}
5. Payload
/// <summary>Удалённый пакет: идентификатор, номер и вид удаления.</summary>
public class DeletedPacketPayload
{
public Guid Id { get; init; }
public string Number { get; init; } = "";
/// <summary>Вид удаления: `soft` (мягкое) или `force` (жёсткое).</summary>
public string Mode { get; init; } = "";
}