53 lines
1.5 KiB
C#
53 lines
1.5 KiB
C#
namespace TrackQrApi.Features.QRCodes.Common;
|
|
|
|
/// <summary>
|
|
/// QR code style configuration stored as JSON
|
|
/// </summary>
|
|
public class QRCodeStyle
|
|
{
|
|
/// <summary>Foreground color in hex format (e.g., "#000000")</summary>
|
|
public string ForegroundColor { get; set; } = "#000000";
|
|
|
|
/// <summary>Background color in hex format (e.g., "#FFFFFF")</summary>
|
|
public string BackgroundColor { get; set; } = "#FFFFFF";
|
|
|
|
/// <summary>Error correction level: L (7%), M (15%), Q (25%), H (30%)</summary>
|
|
public string ErrorCorrectionLevel { get; set; } = "M";
|
|
|
|
/// <summary>Quiet zone (margin) in modules</summary>
|
|
public int QuietZone { get; set; } = 4;
|
|
|
|
/// <summary>Module shape: Square, Circle, Rounded</summary>
|
|
public string ModuleShape { get; set; } = "Square";
|
|
|
|
/// <summary>Eye shape: Square, Circle, Rounded</summary>
|
|
public string EyeShape { get; set; } = "Square";
|
|
|
|
/// <summary>Pixels per module for rendering</summary>
|
|
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<QRCodeResponse> QRCodes
|
|
);
|
|
|
|
public record QRCodePreviewResponse(
|
|
string DataUrl,
|
|
string Format,
|
|
int Width,
|
|
int Height
|
|
); |