feat: Implement Public Message management features including create, update, delete, and publish functionalities

This commit is contained in:
masoodafar-web
2025-12-04 17:29:05 +03:30
parent 64b6f34185
commit 82319285bc
19 changed files with 550 additions and 98 deletions

View File

@@ -4,6 +4,7 @@ using BackOffice.BFF.Application.CommissionCQ.Queries.GetUserPayouts;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetAllWeeklyPools;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetUserWeeklyBalances;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetWithdrawalRequests;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetWithdrawalReports;
using BackOffice.BFF.Application.CommissionCQ.Commands.ApproveWithdrawal;
using BackOffice.BFF.Application.CommissionCQ.Commands.RejectWithdrawal;
using BackOffice.BFF.Application.CommissionCQ.Commands.ProcessWithdrawal;
@@ -57,8 +58,6 @@ public class CommissionService : CommissionContract.CommissionContractBase
context);
}
// TODO: Uncomment when CMS implements these endpoints
/*
public override async Task<GetWithdrawalRequestsResponse> GetWithdrawalRequests(
GetWithdrawalRequestsRequest request,
ServerCallContext context)
@@ -87,5 +86,23 @@ public class CommissionService : CommissionContract.CommissionContractBase
context);
return new Empty();
}
*/
public override async Task<Empty> ProcessWithdrawal(
ProcessWithdrawalRequest request,
ServerCallContext context)
{
await _dispatchRequestToCQRS.Handle<ProcessWithdrawalRequest, ProcessWithdrawalCommand, ProcessWithdrawalResponseDto>(
request,
context);
return new Empty();
}
public override async Task<GetWithdrawalReportsResponse> GetWithdrawalReports(
GetWithdrawalReportsRequest request,
ServerCallContext context)
{
return await _dispatchRequestToCQRS.Handle<GetWithdrawalReportsRequest, GetWithdrawalReportsQuery, GetWithdrawalReportsResponse>(
request,
context);
}
}

View File

@@ -14,13 +14,52 @@ public class PublicMessageService : PublicMessageContract.PublicMessageContractB
_dispatchRequestToCQRS = dispatchRequestToCQRS;
}
public override async Task<CreatePublicMessageResponse> CreatePublicMessage(CreatePublicMessageRequest request, ServerCallContext context)
{
return await _dispatchRequestToCQRS.Handle<CreatePublicMessageRequest, CreatePublicMessageRequest, CreatePublicMessageResponse>(
request,
context);
}
public override async Task<UpdatePublicMessageRequest> UpdatePublicMessage(UpdatePublicMessageRequest request, ServerCallContext context)
{
return await _dispatchRequestToCQRS.Handle<UpdatePublicMessageRequest, UpdatePublicMessageRequest, UpdatePublicMessageRequest>(
request,
context);
}
public override async Task<DeletePublicMessageRequest> DeletePublicMessage(DeletePublicMessageRequest request, ServerCallContext context)
{
return await _dispatchRequestToCQRS.Handle<DeletePublicMessageRequest, DeletePublicMessageRequest, DeletePublicMessageRequest>(
request,
context);
}
public override async Task<PublishMessageResponse> PublishMessage(PublishMessageRequest request, ServerCallContext context)
{
return await _dispatchRequestToCQRS.Handle<PublishMessageRequest, PublishMessageRequest, PublishMessageResponse>(
request,
context);
}
public override async Task<ArchiveMessageResponse> ArchiveMessage(ArchiveMessageRequest request, ServerCallContext context)
{
return await _dispatchRequestToCQRS.Handle<ArchiveMessageRequest, ArchiveMessageRequest, ArchiveMessageResponse>(
request,
context);
}
public override async Task<GetAllMessagesResponse> GetAllMessages(GetAllMessagesRequest request, ServerCallContext context)
{
return await _dispatchRequestToCQRS.Handle<GetAllMessagesRequest, GetAllMessagesQuery, GetAllMessagesResponse>(request, context);
return await _dispatchRequestToCQRS.Handle<GetAllMessagesRequest, GetAllMessagesQuery, GetAllMessagesResponse>(
request,
context);
}
public override async Task<GetActiveMessagesResponse> GetActiveMessages(GetActiveMessagesRequest request, ServerCallContext context)
{
return await _dispatchRequestToCQRS.Handle<GetActiveMessagesRequest, GetActiveMessagesQuery, GetActiveMessagesResponse>(request, context);
return await _dispatchRequestToCQRS.Handle<GetActiveMessagesRequest, GetActiveMessagesQuery, GetActiveMessagesResponse>(
request,
context);
}
}