namespace TrackQrApi.Features.QRCodes.Common;
///
/// QR code style configuration stored as JSON
///
public class QRCodeStyle
{
/// Foreground color in hex format (e.g., "#000000")
public string ForegroundColor { get; set; } = "#000000";
/// Background color in hex format (e.g., "#FFFFFF")
public string BackgroundColor { get; set; } = "#FFFFFF";
/// Error correction level: L (7%), M (15%), Q (25%), H (30%)
public string ErrorCorrectionLevel { get; set; } = "M";
/// Quiet zone (margin) in modules
public int QuietZone { get; set; } = 4;
/// Module shape: Square, Circle, Rounded
public string ModuleShape { get; set; } = "Square";
/// Eye shape: Square, Circle, Rounded
public string EyeShape { get; set; } = "Square";
/// Pixels per module for rendering
public int PixelsPerModule { get; set; } = 20;
}
public record QRCodeResponse(
Guid Id,
Guid WorkspaceId,
Guid? ProjectId,
Guid? ShortLinkId,
string? ShortLinkSlug,
string Name,
QRCodeStyle Style,
Guid? LogoAssetId,
string? LogoUrl,
DateTime CreatedAt,
DateTime UpdatedAt
);
public record QRCodeListResponse(
IEnumerable QRCodes
);
public record QRCodePreviewResponse(
string DataUrl,
string Format,
int Width,
int Height
);