Endpoint: DeleteInputPacket

API-контракт Версия: 0.1 draft

Удаление пакета из очереди двух видов: мягкое (пометка, скрытие, обратимо) и жёсткое (окончательное, с файлами). Поведение — DeleteInputPacketHandler / ForceDeleteInputPacketHandler.

⟨/⟩ Исходник

1. Транспорт

Параметр 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; } = "";
}