initial commit
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
using Indotalent.ConfigBackEnd.Extensions;
|
||||
using Indotalent.Features.Organization.Employee.Cqrs;
|
||||
using MediatR;
|
||||
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
||||
|
||||
namespace Indotalent.Features.Organization.Employee;
|
||||
|
||||
public static class EmployeeEndpoint
|
||||
{
|
||||
public static void MapEmployeeEndpoints(this IEndpointRouteBuilder app)
|
||||
{
|
||||
var group = app.MapGroup("/employee")
|
||||
.WithTags("Employees")
|
||||
.RequireAuthorization(policy =>
|
||||
policy.AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
|
||||
.RequireAuthenticatedUser());
|
||||
|
||||
group.MapGet("/", async (IMediator mediator) =>
|
||||
(await mediator.Send(new GetEmployeeListQuery())).ToApiResponse("Employee list retrieved successfully"));
|
||||
|
||||
group.MapGet("/lookup", async (IMediator mediator) =>
|
||||
(await mediator.Send(new LookupQuery())).ToApiResponse("Lookups retrieved successfully"));
|
||||
|
||||
group.MapGet("/{id}", async (string id, IMediator mediator) =>
|
||||
(await mediator.Send(new GetEmployeeByIdQuery(id))).ToApiResponse("Employee detail retrieved successfully"));
|
||||
|
||||
group.MapPost("/", async (CreateEmployeeRequest request, IMediator mediator) =>
|
||||
(await mediator.Send(new CreateEmployeeCommand(request))).ToApiResponse("Employee created successfully", StatusCodes.Status201Created));
|
||||
|
||||
group.MapPost("/update", async (UpdateEmployeeRequest request, IMediator mediator) =>
|
||||
(await mediator.Send(new UpdateEmployeeCommand(request))).ToApiResponse("Employee updated successfully"));
|
||||
|
||||
group.MapPost("/delete/{id}", async (string id, IMediator mediator) =>
|
||||
(await mediator.Send(new DeleteEmployeeByIdCommand(new DeleteEmployeeByIdRequest(id)))).ToApiResponse("Employee deleted successfully"));
|
||||
|
||||
group.MapGet("/income/list/{employeeId}", async (string employeeId, IMediator mediator) =>
|
||||
(await mediator.Send(new GetEmployeeIncomeListByEmployeeIdQuery(employeeId))).ToApiResponse("Employee income list retrieved"));
|
||||
|
||||
group.MapGet("/income/{id}", async (string id, IMediator mediator) =>
|
||||
(await mediator.Send(new GetEmployeeIncomeByIdQuery(id))).ToApiResponse("Employee income detail retrieved"));
|
||||
|
||||
group.MapPost("/income", async (CreateEmployeeIncomeRequest request, IMediator mediator) =>
|
||||
(await mediator.Send(new CreateEmployeeIncomeCommand(request))).ToApiResponse("Employee income created", StatusCodes.Status201Created));
|
||||
|
||||
group.MapPost("/income/update", async (UpdateEmployeeIncomeRequest request, IMediator mediator) =>
|
||||
(await mediator.Send(new UpdateEmployeeIncomeCommand(request))).ToApiResponse("Employee income updated"));
|
||||
|
||||
group.MapPost("/income/delete/{id}", async (string id, IMediator mediator) =>
|
||||
(await mediator.Send(new DeleteEmployeeIncomeByIdCommand(new DeleteEmployeeIncomeByIdRequest(id)))).ToApiResponse("Employee income deleted successfully"));
|
||||
|
||||
group.MapGet("/deduction/list/{employeeId}", async (string employeeId, IMediator mediator) =>
|
||||
(await mediator.Send(new GetEmployeeDeductionListByEmployeeIdQuery(employeeId))).ToApiResponse("Employee deduction list retrieved"));
|
||||
|
||||
group.MapGet("/deduction/{id}", async (string id, IMediator mediator) =>
|
||||
(await mediator.Send(new GetEmployeeDeductionByIdQuery(id))).ToApiResponse("Employee deduction detail retrieved"));
|
||||
|
||||
group.MapPost("/deduction", async (CreateEmployeeDeductionRequest request, IMediator mediator) =>
|
||||
(await mediator.Send(new CreateEmployeeDeductionCommand(request))).ToApiResponse("Employee deduction created", StatusCodes.Status201Created));
|
||||
|
||||
group.MapPost("/deduction/update", async (UpdateEmployeeDeductionRequest request, IMediator mediator) =>
|
||||
(await mediator.Send(new UpdateEmployeeDeductionCommand(request))).ToApiResponse("Employee deduction updated"));
|
||||
|
||||
group.MapPost("/deduction/delete/{id}", async (string id, IMediator mediator) =>
|
||||
(await mediator.Send(new DeleteEmployeeDeductionByIdCommand(new DeleteEmployeeDeductionByIdRequest(id)))).ToApiResponse("Employee deduction deleted successfully"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user