Refactor GetOrCreateCommand and add AutoMapper profile
Refactored the `GetOrCreateCommand` to simplify the creation of `Endpoint` entities by delegating the creation logic to `repo.CreateAsync`. Added a new `MappingProfile` class using AutoMapper to define mappings between command objects (`CreateEndpointCommand` and `GetOrCreateCommand`) and the `Endpoint` entity, improving code maintainability and reducing boilerplate. Included necessary `using` directives in `MappingProfile.cs` to support the new mapping functionality.
This commit is contained in:
parent
4d6df7ccc8
commit
46664d62ba
@ -1,7 +1,6 @@
|
||||
using DigitalData.Core.Abstraction.Application.Repository;
|
||||
using MediatR;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using ReC.Domain.Entities;
|
||||
|
||||
namespace ReC.Application.Endpoints.Commands;
|
||||
|
||||
@ -19,11 +18,7 @@ public class GetOrCreateCommandHandler(IRepository<Endpoint> repo) : IRequestHan
|
||||
if (endpoint is not null)
|
||||
return endpoint;
|
||||
|
||||
endpoint = new Endpoint
|
||||
{
|
||||
Uri = request.Uri
|
||||
};
|
||||
await repo.CreateAsync(endpoint, cancel);
|
||||
endpoint = await repo.CreateAsync(request, cancel);
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
18
src/ReC.Application/Endpoints/MappingProfile.cs
Normal file
18
src/ReC.Application/Endpoints/MappingProfile.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using AutoMapper;
|
||||
using ReC.Application.Endpoints.Commands;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ReC.Application.Endpoints;
|
||||
|
||||
public class MappingProfile : Profile
|
||||
{
|
||||
public MappingProfile()
|
||||
{
|
||||
CreateMap<CreateEndpointCommand, Endpoint>();
|
||||
CreateMap<GetOrCreateCommand, Endpoint>();
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user