diff --git a/Application/AddLink.cs b/Application/AddLink.cs index bcc7506..36a5d3b 100644 --- a/Application/AddLink.cs +++ b/Application/AddLink.cs @@ -5,6 +5,7 @@ using HN.Domain; using MediatR; namespace HN.Application { + public class AddLinkCommand : IRequest { public string Url { get; set; } @@ -21,11 +22,12 @@ namespace HN.Application { public async Task Handle(AddLinkCommand request, CancellationToken cancellationToken) { - var link = new Link(request.Url); + var link = Link.FromUrl(request.Url); await this._repository.AddAsync(link); return link.Id; } } + } diff --git a/Domain/Link.cs b/Domain/Link.cs index aa0abc2..3afcfc5 100644 --- a/Domain/Link.cs +++ b/Domain/Link.cs @@ -8,11 +8,16 @@ namespace HN.Domain public string Url { get; } public DateTime CreatedAt { get; } - public Link(string url) + private Link(string url) { this.Id = Guid.NewGuid(); this.CreatedAt = DateTime.UtcNow; this.Url = url; } + + public static Link FromUrl(string url) + { + return new Link(url); + } } }