This commit is contained in:
2026-04-09 00:51:24 +02:00
parent 633da52880
commit 854adc32c1
11 changed files with 366 additions and 45 deletions

View File

@@ -18,26 +18,26 @@ public class PrintApiClient : IDisposable
_httpClient.DefaultRequestHeaders.Add("X-Api-Key", apiKey);
}
public async Task<List<PrintJob>> GetPendingJobsAsync()
public async Task<List<PrintJob>> GetPendingJobsAsync(CancellationToken cancellationToken = default)
{
var response = await _httpClient.GetAsync("api/print/jobs/pending");
var response = await _httpClient.GetAsync("api/print/jobs/pending", cancellationToken);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();
var json = await response.Content.ReadAsStringAsync(cancellationToken);
var result = JsonSerializer.Deserialize<PendingJobsResponse>(json);
return result?.Jobs ?? new List<PrintJob>();
}
public async Task<byte[]> DownloadLabelAsync(int jobId)
public async Task<byte[]> DownloadLabelAsync(int jobId, CancellationToken cancellationToken = default)
{
var response = await _httpClient.GetAsync($"api/print/jobs/{jobId}/download");
var response = await _httpClient.GetAsync($"api/print/jobs/{jobId}/download", cancellationToken);
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsByteArrayAsync();
return await response.Content.ReadAsByteArrayAsync(cancellationToken);
}
public async Task<bool> MarkCompleteAsync(int jobId)
public async Task<bool> MarkCompleteAsync(int jobId, CancellationToken cancellationToken = default)
{
var response = await _httpClient.PostAsync($"api/print/jobs/{jobId}/complete", null);
var response = await _httpClient.PostAsync($"api/print/jobs/{jobId}/complete", null, cancellationToken);
return response.IsSuccessStatusCode;
}