Files
meezi/src/Meezi.API/Models/Printing/PrintDtos.cs
T
soroush.asadi 197f6f2d38
CI/CD / CI · API (dotnet build + test) (push) Successful in 42s
CI/CD / CI · Admin API (dotnet build) (push) Successful in 29s
CI/CD / CI · Dashboard (tsc) (push) Successful in 1m9s
CI/CD / CI · Admin Web (tsc) (push) Successful in 38s
CI/CD / CI · Website (tsc) (push) Successful in 46s
CI/CD / CI · Koja (tsc) (push) Successful in 50s
CI/CD / Deploy · all services (push) Successful in 3m44s
feat(print): dashboard UI for print servers + auto-discovered printer pickers
Phase 4 (final). Settings → Printers now has a "Print servers" section: add a
print server (issues a one-time pairing code with steps), see each agent's online
status, its auto-discovered printers, test any of them, and revoke. Receipt,
kitchen and per-station printers can now be picked from a dropdown of discovered
devices instead of typing an IP (manual IP stays as fallback). Wires the device
mappings through the branch print-settings + kitchen-station DTOs/services and adds
the device-test endpoint. fa/en/ar strings added.

Completes the cloud↔LAN print-agent feature (entities/hub → routing → agent → UI).
Remaining polish: agent system-tray + run-at-login + installer, optional LAN scan.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 12:28:27 +03:30

41 lines
1.1 KiB
C#

namespace Meezi.API.Models.Printing;
public record BranchPrintSettingsDto(
string BranchId,
string? ReceiptPrinterIp,
int? ReceiptPrinterPort,
string? KitchenPrinterIp,
int? KitchenPrinterPort,
int PaperWidthMm,
bool AutoCutEnabled,
string? ReceiptHeader,
string? ReceiptFooter,
string? WifiPassword,
string? PosDeviceIp,
int? PosDevicePort,
string? ReceiptPrintDeviceId,
string? KitchenPrintDeviceId);
public record PatchBranchPrintSettingsRequest(
string? ReceiptPrinterIp,
int? ReceiptPrinterPort,
string? KitchenPrinterIp,
int? KitchenPrinterPort,
int? PaperWidthMm,
bool? AutoCutEnabled,
string? ReceiptHeader,
string? ReceiptFooter,
string? WifiPassword,
string? PosDeviceIp,
int? PosDevicePort,
string? ReceiptPrintDeviceId,
string? KitchenPrintDeviceId);
public record PosPaymentRequest(string OrderId, decimal Amount);
public record PosPaymentResultDto(bool Sent, bool Skipped, string? Message);
public record TestPrintRequest(string PrinterIp, int Port = 9100);
public record PrintJobResultDto(bool Printed, string? ErrorCode, string? Message);