Moved CreateProductModel to shared Features library
continuous-integration/drone/pr Build is passing
continuous-integration/drone/pr Build is passing
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
using LiteCharms.Features.S3.Abstractions;
|
using LiteCharms.Features.S3.Abstractions;
|
||||||
|
using LiteCharms.Features.Shop.Products.Models;
|
||||||
using static LiteCharms.Features.S3.Constants;
|
using static LiteCharms.Features.S3.Constants;
|
||||||
|
|
||||||
namespace ShopAdmin.Components;
|
namespace ShopAdmin.Components;
|
||||||
@@ -185,42 +186,3 @@ public partial class CreateProduct([FromKeyedServices(BookshopBucketName)] IS3Se
|
|||||||
StateHasChanged();
|
StateHasChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CreateProductModel
|
|
||||||
{
|
|
||||||
[MaxLength(128)]
|
|
||||||
[Required(ErrorMessage = "Product name is required.")]
|
|
||||||
public string? Name { get; set; }
|
|
||||||
|
|
||||||
[MaxLength(512)]
|
|
||||||
[Required(ErrorMessage = "Summary is required.")]
|
|
||||||
public string? Summary { get; set; }
|
|
||||||
|
|
||||||
[MaxLength(2048)]
|
|
||||||
[Required(ErrorMessage = "Description is required.")]
|
|
||||||
public string? Description { get; set; }
|
|
||||||
|
|
||||||
[Range(0.01, double.MaxValue, ErrorMessage = "Price must be greater than zero.")]
|
|
||||||
public decimal Price { get; set; }
|
|
||||||
|
|
||||||
[MaxLength(128)]
|
|
||||||
[Required(ErrorMessage = "Author metadata is required.")]
|
|
||||||
public string? Author { get; set; }
|
|
||||||
|
|
||||||
[Required(ErrorMessage = "Publication Date is required.")]
|
|
||||||
public DateTime PublishDate { get; set; } = DateTime.Today;
|
|
||||||
|
|
||||||
[MaxLength(255)]
|
|
||||||
[Required(ErrorMessage = "Copyright Information field is required.")]
|
|
||||||
public string? CopyrightInfo { get; set; }
|
|
||||||
|
|
||||||
[MaxLength(128)]
|
|
||||||
[Required(ErrorMessage = "ISBN code is required.")]
|
|
||||||
[RegularExpression(@"^(?=(?:\D*\d){10}(?:(?:\D*\d){3})?$)[\d-]+$", ErrorMessage = "Please enter a valid ISBN-10 or ISBN-13 string.")]
|
|
||||||
public string? Isbn { get; set; }
|
|
||||||
|
|
||||||
[Required(ErrorMessage = "Primary image is required.")]
|
|
||||||
public string? ImageUrl { get; set; }
|
|
||||||
|
|
||||||
public List<string> Thumbnails { get; set; } = [];
|
|
||||||
}
|
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="LiteCharms.Features" Version="1.40.0" />
|
<PackageReference Include="LiteCharms.Features" Version="1.41.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Components.QuickGrid" Version="10.0.8" />
|
<PackageReference Include="Microsoft.AspNetCore.Components.QuickGrid" Version="10.0.8" />
|
||||||
<PackageReference Include="Polly" Version="8.6.6" />
|
<PackageReference Include="Polly" Version="8.6.6" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user