// microservices/PostService/Services/ManagePostService.cs
using Grpc.Core;
using PostProtoService;
using PostModel.Models;
namespace PostService.Services;
public class ManagePostService : PostProto.PostProtoBase
{
private readonly ILogger<ManagePostService> _logger;
private readonly PostContext _dbContext;
public ManagePostService(ILogger<ManagePostService> logger, PostContext dbContext)
{
_logger = logger;
_dbContext = dbContext;
}
public override async Task<CreateReply> Create(CreateRequest request, ServerCallContext context)
{
var user = _dbContext.User.FirstOrDefault(u => u.Id == request.OwnerId);
if (user != null) throw new RpcException(new Status(StatusCode.NotFound, "El usuario no existe."));
var newPost = new Post
{
OwnerId = request.OwnerId,
Title = request.Title,
Description = request.Description,
Image = request.Image,
};
_dbContext.Post.Add(newPost);
await _dbContext.SaveChangesAsync();
return new CreateReply
{
OwnerId = request.OwnerId,
Image = request.Image,
Title = request.Title,
Description = request.Description
};
}
}
// microservices/PostService/Services/ManagePostService.cs
using Grpc.Core;
using PostProtoService;
using PostModel.Models;
namespace PostService.Services;
public class ManagePostService : PostProto.PostProtoBase
{
private readonly ILogger<ManagePostService> _logger;
private readonly PostContext _dbContext;
public ManagePostService(ILogger<ManagePostService> logger, PostContext dbContext)
{
_logger = logger;
_dbContext = dbContext;
}
public override async Task<CreateReply> Create(CreateRequest request, ServerCallContext context)
{
var user = _dbContext.User.FirstOrDefault(u => u.Id == request.OwnerId);
if (user != null) throw new RpcException(new Status(StatusCode.NotFound, "El usuario no existe."));
var newPost = new Post
{
OwnerId = request.OwnerId,
Title = request.Title,
Description = request.Description,
Image = request.Image,
};
_dbContext.Post.Add(newPost);
await _dbContext.SaveChangesAsync();
return new CreateReply
{
OwnerId = request.OwnerId,
Image = request.Image,
Title = request.Title,
Description = request.Description
};
}
}